2016-10-14 7 views
0

私はC#の新機能ですが、PHPやJavaのようなOOPを使用すると多くの経験があります。 JSONオブジェクトを返すC#コードでHTTP Web応答があります。オンラインで多くの記事を読んでいますが、JSONのデコードやその他の方法に関するMicrosoftのドキュメントを見ましたが、前にPHPを使用していました。このようにそれを行うには非常に単純な方法:JSONのデコードステップ - c#

$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); 
} 

$responseは、Webサービスからの応答であることを考慮すると、

この値はそうのような文字列にすることができれば、あなたは、私が思っていた値名が固定されているように、動的なオブジェクトは、息子のオブジェクト(string)data.attachment.nameを取得するために作成された、ここで見ることができるように:

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

私は構文は次のとおりです知っています間違っていて1と2は動的型でなければなりません。私の質問の冒頭で私が与えた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);