2012-01-01 5 views
2

にするには?私はJSONオブジェクトを持っていると私はの値を取得したいJSONオブジェクトノード

これは私がシリアライズされたオブジェクトとして純粋にJSONを考えることを好む理由だけで

...の
{ 
    "created_at": "Sun, 01 Jan 2012 17:05:32 +0000", 
    "entities": { 
    "user_mentions": [ 
     { 
     "screen_name": "nurdanterbiyik", 
     "name": "nurdan", 
     "id": 264782080, 
     "id_str": "264782080", 
     "indices": [ 
      0, 
      15 
     ] 
     } 
    ], 
    "media": [ 
     { 
     "id": 153522253777219584, 
     "id_str": "153522253777219584", 
     "indices": [ 
      44, 
      64 
     ], 
     "media_url": "http://p.twimg.com/AiFrrSmCMAAdEID.jpg", 
     "media_url_https": "https://p.twimg.com/AiFrrSmCMAAdEID.jpg", 
     "url": "http://t.co/ZwHN9gvO", 
     "display_url": "pic.twitter.com/ZwHN9gvO", 
     "expanded_url": "http://twitter.com/emelkiraac/status/153522253773025280/photo/1", 
     "type": "photo", 
     "sizes": { 
      "large": { 
      "w": 536, 
      "h": 800, 
      "resize": "fit" 
      }, 
+0

JavascriptSerializerを使用すると、文字列を渡してオブジェクトを返すことができます。そこから、返されたオブジェクトのプロパティにアクセスし、hを取得します。 – frenchie

+0

私はちょうど試しました。お返事ありがとう – kankele

答えて

0

質問とは無関係であること、余分なラインである - 私はそれを行うにしたい最初と最後の事はありますそれを私が次に使用するオブジェクトにデシリアライズします。

私はあなたのC#でそれを行うための最善の方法を伝えることはできませんが、私はJSON.NET

JSON.NETもJSONへのLINQは良好である」あなた(ウェブサイトからの引用)させますを使用して幸運を持っていましたJSONから値を取得することにのみ関心がある場合は、シリアル化または逆シリアル化するクラスがなく、JSONとクラスが大きく異なり、オブジェクトから手動で読み書きする必要があります。 .NETでJSONを簡単に読み込み、作成し、変更することができます。私はそれを試したことはありませんが、あなたがしようとしているのは、その長い文字列の中から1つのデータを取得するだけの場合、良い選択肢のように思えます。

8

JSON.NETを使用すると、JSONテキストをオブジェクトに逆シリアル化しなくても、データを読み取ることができます。ここでは簡単な例を示します。

string json = @" { 
""created_at"": ""Sun, 01 Jan 2012 17:05:32 +0000"", 
    ""entities"": { 
    ""media"": [{ 
     ""type"": ""photo"", 
     ""sizes"": { 
     ""large"": { 
      ""w"": 536, 
      ""h"": 800, 
      ""resize"": ""fit"" 
     } 
     } 
    }] 
    } 
} 
"; 

JObject o = JObject.Parse(json); 
int h = (int)o["entities"]["media"][0]["sizes"]["large"]["h"]; 
int h2 = (int)o.SelectToken("entities.media[0].sizes.large.h"); 
+0

おかげさまで、お返事ありがとうございます – kankele

+0

o ["entities"] ["media"]が存在するかどうかを確認するにはどうすればよいですか? – kankele

+0

複数のブロックが内部にある場合、 'media'をどのように見ればいいですか? – Si8

関連する問題