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

如何从C#中的JSON字符串中获取一些值?

邵骁
2023-03-14
问题内容

我有一个字符串,我想从中获取一些值。

我的字符串看起来像:

字符串1:

"{\r\n   \"id\": \"100000280905615\",
 \r\n \"name\": \"Jerard Jones\",
 \r\n   \"first_name\": \"Jerard\",
 \r\n   \"last_name\": \"Jones\",
 \r\n   \"link\": \"https://www.facebook.com/Jerard.Jones\",
 \r\n   \"username\": \"Jerard.Jones\",
 \r\n   \"gender\": \"female\",
 \r\n   \"locale\": \"en_US\"\r\n}"

字串2:

"{\r\n   \"id\": \"100000390001929\",
  \r\n   \"name\": \"\\u05d1\\u05d2\\u05e8\\u15dc\\u25d9 \\u05d1\\u05e8\\u05d5\\u05e9\",
  \r\n   \"first_name\": \"\\u05d4\\u05d2\\u05e7\\u02dc\\u05d9\",
  \r\n   \"last_name\": \"\\u05d1\\u05e8\\u05d5\\u05e9\",
  \r\n   \"link\": "https://www.facebook.com/people/\\u05d2\\u05d1\\u05e@\\u05dc\\u05d9-\\u05d1\\u05e8\\u05d4\\u05e9/100000390001929\",
  \r\n   \"gender\": \"female\",
  \r\n   \"locale\": \"he_IL\"\r\n}"

不幸的是,存在这样一种情况,字符串将具有相同的概念,但是没有一些参数:

字串3:

"{\r\n   \"id\": \"100000390001929\",
  \r\n   \"last_name\": \"\\u05d1\\u05e8\\u05d5\\u05e9\",
  \r\n   \"gender\": \"female\",
  \r\n   \"locale\": \"he_IL\"\r\n}"

我怎样才能得到的值:idfirst_namelast_namegenderlocale

任何帮助表示赞赏!


问题答案:

您的字符串是JSON格式的,因此您需要将其 解析
为一个对象。为此,您可以使用JSON.NET。

这是有关如何将JSON字符串解析为动态对象的示例:

string source = "{\r\n   \"id\": \"100000280905615\", \r\n \"name\": \"Jerard Jones\",  \r\n   \"first_name\": \"Jerard\", \r\n   \"last_name\": \"Jones\", \r\n   \"link\": \"https://www.facebook.com/Jerard.Jones\", \r\n   \"username\": \"Jerard.Jones\", \r\n   \"gender\": \"female\", \r\n   \"locale\": \"en_US\"\r\n}";
dynamic data = JObject.Parse(source);
Console.WriteLine(data.id);
Console.WriteLine(data.first_name);
Console.WriteLine(data.last_name);
Console.WriteLine(data.gender);
Console.WriteLine(data.locale);

编码愉快!



 类似资料:
  • 问题内容: 我想尝试从Go中的JSON获取键值,但是我不确定该怎么做。 我已经能够使用simplejson来读取json值,但是我却无法找出如何获取键值。 谁能指出正确的方向和/或帮助我? 谢谢! 问题答案: 您可以通过执行以下操作来获取JSON结构的顶级密钥: 请注意,键的顺序不得与JSON结构中的键顺序相对应。它们在最后一片中的顺序甚至会在完全相同的代码的不同运行之间有所不同。这是由于地图迭代

  • 问题内容: 我有一个字符串(基本上是遵循命名约定的文件名) 我想在第一个(即一个点)之前提取子字符串 在java doc api中,我似乎找不到在String中执行此操作的方法。 我想念什么吗?怎么做? 问题答案: 看看和。 确保检查的-1 。

  • 问题内容: 我想从我的字符串中删除以下所有字符 “> [],-” 目前我正在这样做。但必须有一个更有效的方法 问题答案: 使用描述要替换的所有字符的正则表达式,以及替换与该正则表达式匹配的所有内容的方法: (编辑:实际上,我认为不应该转义。而且我忘记了将反斜杠加倍,因为它们会被解释两次:一次是由Java编译器,一次是由正则表达式引擎。)

  • 我有类似这样的数据来自一个领域- {"AddressLine1":"Example Dr "," AddressLine2 ":"," City":"Paradise City "," State":"State Name "," PostalCode":"12345 "," Zip5":"67891 "," zip 4 ":" } {"地址线1":"Ex Ln","地址线2":"Adr 22",

  • 我有这样一个JSON文件: 我需要得到回应。使用者用户名值。我试过这个: 但我得到了这个错误: 怎么修,肯定有办法,就是找不到。