当前位置: 首页 > 面试题库 >

我可以LINQ JSON吗?

鲁城
2023-03-14
问题内容

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



 类似资料:
  • 我的应用程序使用Xfire作为web服务客户端,它是一个遗留系统,其中的服务是用Perl编写的,我正在用Spring boot修改/重写应用程序,当我添加Maven依赖时,当我尝试构建时它显示错误 我不知道数据库用在哪里了

  • 我想做到这一点: 我该怎么做?我想在那里得到变量名,但它将是不起作用的东西(字符串整数)的组合,而不是变量名

  • 问题内容: 我正在Netbeans中开发的项目上使用此项目。基本上,我将3个源代码文件复制到我的项目中,并对文件进行了一些调整,以使我能够在项目中使用它。 然后,编译器表示对于以下导入: 我试图去添加模块依赖> > > 和打字,但没有图书馆被发现。通常,可用库以其名称的一种形式显示。在这种情况下,没有显示。 所以,我下载了从罐子这里并打算将其添加到项目> > > 。编译错误消失了,我能够运行该项目

  • 问题内容: 每当断言语句成功时,我想让它大吼大叫,或者至少让它显示遇到的成功断言语句的数量。 我正在使用JUnit4。 有什么建议? 问题答案: 如果要为每个成功的断言看到一些输出,另一种不需要外部依赖关系或源代码的简单方法是定义自己的Assert类,该类将所有方法委托给标准JUnit Assert类,并记录成功的断言(失败的断言将照常由JUnit类报告)。 然后,您可以从“ org.junit.

  • 问题内容: 我想知道是否有一种方法可以指定在类方法之前调用方法。我知道这样的事情应该是可能的,因为JUnit具有before(),所以我想做的事情是相似的。 这是我想做的一个具体例子 基本上我想要一个注释在foo()之前告诉编译器或jvm调用init() 问题答案: 如果有的话,您可以使用此接口的实例和方法的内部包装,您可以自由检查方法是否带注释,并根据该方法执行一些操作: 或者,您可以尝试使用A

  • 问题内容: 我试图更改HTML表单,输入类型文件。这是我的代码: HTML,表格ID =表格 .CSS 这两种方法均无效。我确实从某些网站(如Facebook,YouTube,Google或Twitter)看到,它们具有不同的风格。想知道他们是如何做到的。 问题答案: 您不能对输入类型的文件执行任何操作(巨大的黑客攻击除外)。我知道这听起来很可怕,但是Web标准仍然没有提出解决方案。 但是我建议您