我正在尝试从这个json数据中解析“VID”
{"response":[2,{"vid":165971367},{"vid":165971350}]}
。
但它不想解析它。我认为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>();
答案 0 :(得分:2)
如果您使用Json.Net并将该json加载到JObject中,那么您将拥有一个名为“response”的属性,因此: myJson [ “响应”]
这是一个包含3个元素的JArray,因此跳过第一个元素。 .Skip(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}
]
}
*/
当然,这只是概念,你需要适应现实生活。
答案 1 :(得分:1)
您可以使用Skip
方法跳过第一项:
IList<JToken> results = googleSearch["response"].Skip(1).ToList();