这是我从.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#类并将其反序列化。
它是提取单个字段的一种方法吗?谢谢!
无需Linq,只需使用dynamic(使用Json.Net)
dynamic
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 to JSON