2016-10-14 4 views
0

저는 C#을 처음 접했지만 PHP와 Java와 같은 OOP를 사용할 때 많은 경험이 있습니다. JSON 객체를 반환하는 C# 코드에서 HTTP 웹 응답을 받았으며 온라인에서 많은 기사를 읽었으며 JSON 디코드 및 기타 방법과 관련된 Microsoft의 설명서를 보았습니다. 그러나 전에 PHP를 사용했고JSON 디코드 단계 - C#

고려 $response 즉, 웹 서비스의 응답입니다 : : 아주 간단한 방법은 다음과 같이 그것을 할 수

$json_string = json_decode($response,true); 
$var = $json_string["test"]["country"]; 

내가 사이트에 비슷한 질문을보고는 대답했다 :

dynamic response = JsonConvert.DeserializeObject(json); 

Console.WriteLine("PropName:" +  response.data[1].attachment.properties[0].name); 

foreach (var data in response.data) 
{ 
    if (data.attachment != null) 
    Console.WriteLine((string)data.attachment.name); 
} 

이 값이 너무 같은 문자열이 될 수 있다면 당신은, 내가 궁금 값 이름이 고정되도록 동적 객체, 아들 객체 (string)data.attachment.name를 얻기 위해 만들어진 여기에서 볼 수 있듯이 :

String 1="attachement"; 
String 2="name"; 
(string)responsedata.1.2; 

나는 구문은 알고있다 1과 2는 동적 유형이어야합니다. 그 vapes은 내가 질문의 시작 부분에서 준 PHP 예제의 경우처럼 문자열 일 수 있습니까?

동일한 출력을 갖고있어 사용하기 쉬운 C#의 코드는 쉽고 간단합니다. 감사합니다.

+1

아마도이게 당신이 찾고 있는게 아닌가요? http://stackoverflow.com/questions/6620165/how-can-i-parse-json-with-c – Maximus2012

답변

0

json 객체를 desrializing하는 데 newtonsoft를 사용할 수 있습니다.

string json = @"{ 
    'Country': 'US', 
    'State': IL, 
    'CreatedDate': '2016-10-14T00:00:00Z'  
}"; 

DefineYourObject obj = JsonConvert.DeserializeObject<DefineYourObject>(json);  
Console.WriteLine(obj.Country);