从json中获取信息

本文关键字:信息 获取 json | 更新日期: 2023-09-27 18:27:18

我正试图从这个json数据中解析"VID"CCD_ 1。但它不想解析它。我认为json数据中的"2"有问题。如何消除这个数字?

这是我的代码:

HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("some json data");
string googleSearchText = await response.Content.ReadAsStringAsync();
JObject googleSearch = JObject.Parse(googleSearchText);
IList<JToken> results = googleSearch["response"].Children().ToList();
IList<SearchResult> searchResults = new List<SearchResult>();

从json中获取信息

如果您使用Json.Net并将Json加载到JObject中,那么您就有一个名为"response"的属性,因此:myJson["响应"]

它是一个有3个元素的JArray,所以跳过第一个元素。.跳过(1)然后你有了IEnumerable,并且想要属性"vid",所以类似于:

var myVids = (from vids in myJObject["response"].Skip(1)
               where vids["vid"] != null
               select vids["vid"])
/*  JSON
{"response":
   [2,
    {"vid":165971367},
    {"vid":165971350}
   ]
}
*/

当然,这只是一个概念,你需要适应现实生活。

您可以使用Skip方法跳过第一项:

IList<JToken> results = googleSearch["response"].Skip(1).ToList();