2017-05-02 3 views
0

以下のJSON文字列のurlの値にはどのようにアクセスできますか?Newtonsoft LinqでネストJSONデータにアクセス

JSON

{ 
    "id": "7453", 
    "picture": { 
     "data": { 
      "is_silhouette": false, 
      "url": "https:\/\/scontent.xx.fbcdn.net\/v\/t1.0-1\/p50x50\/gf6474hfff.jpg?oh=fy&oe=trtr" 
     } 
    } 
} 

Dim o As Newtonsoft.Json.Linq.JObject = Newtonsoft.Json.Linq.JObject.Parse(json) 

私はそうのようなidにアクセスすることができます。

o("id").ToString() 

をだから私は、次のurlプロパティのために働くだろうと期待しておりますが、私はエラーを取得:

Object reference not set to an instance of an object

o("picture.data.url").ToString() 
+5

'O( "絵")( "データ")( "URL")' - それを文句を言いませんあなたのために文字列obj参照を解析します。通常はデシリアライズ時の作業が容易です – Plutonix

+1

'jsonlint.com'のようなものに貼り付けた方が階層を見る方が簡単です – Plutonix

答えて

1

あなたは一度に1つずつすることができます。

Dim pic = o("picture")("data")("url") 

は、私もあなたもNewtonsoft.Json内の別の方法を行うことができますことを発見した:

Dim pic = o.SelectToken("picture.data.url") 
関連する問題