c# - 我可以 LINQ 一个 JSON 吗?

标签 c# .net json linq linq-to-json

这是我从 .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 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

关于c# - 我可以 LINQ 一个 JSON 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18758361/

相关文章:

c# - 使用 ProjectItems.item

c# - 使用 neo4jclient 的性能问题

.net - LINQ 到 SQL : is there a complete list of supported IQueryable extension methods?

javascript - 在 JavaScript 中使用 php json 结果

javascript - 在 AngularJS 中保存创建的数据

c# - C#中VB6中ObjPtr的等效(功能)?

c# - AutomationElement.FindAll() 性能问题

asp.net - 使用 SQL 返回匹配多个搜索条件的表行

c# - .Net 正则表达式处理中 "$"限定符的潜在不当行为

python - Python 中解析 JSON 的文件格式不正确