JSON を LINQ できますか? 質問する

JSON を LINQ できますか? 質問する

これは .NET のリクエストから取得した JSON です。

{
  "id": "110355660738", 
  "picture": {
    "data": {
      "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/1027085_12033235063_5234302342947_n.jpg", 
      "is_silhouette": false
    }
  }
}

そして、(おそらく) LINQ を使用して、フィールド "url" をキャッチしたいと思います。私はこのように多くのリクエストを実行しますが、少し異なります。そのため、毎回 C# クラスを作成してデシリアライズする必要はありません。

単一のフィールドを抽出する方法ですか? ありがとうございます!

ベストアンサー1

Linqは必要ありませんdynamicJson.Net

dynamic obj = JObject.Parse(json);
Console.WriteLine((string)obj.picture.data.url);

Linqバージョンはあまり読みにくいでしょう

JObject jObj = JObject.Parse(json);
var url = (string)jObj.Descendants()
                    .OfType<JProperty>()
                    .Where(p => p.Name == "url")
                    .First()
                    .Value;

ドキュメンテーション:LINQ から JSON

おすすめ記事