[{"conversation":{"id":"04d27d987de7f897580096b099815691cd4a89_ecf47fb8-cd72-4e5d-925c-5a63aa2fb315","wid":"04d27d987de7f897580096b099815691cd4a89","nicknames":{"owner":"Wiz_boltebony","originator":"Username123"},"group_token":"5a4b2b9d-ed39-4029-a76e-347a8c99806b"}},{"conversation":{"id":"05043a6393ec32806194414f2239a8697fa788_ecf47fb8-cd72-4e5d-925c-5a63aa2fb315","wid":"05043a6393ec32806194414f2239a8697fa788","nicknames":{"owner":"Summer_Reflection","originator":"Wiz_boltebony"},"group_token":"0b77eb02-aa57-4811-91fd-5fa61997b6a0"}}]
我想从这个json"数组"中解析出所有(group_token":" 0b77eb02-aa)......等值。
这是我的代码:
dynamic j = JsonConvert.DeserializeObject(contents);
foreach (var c in j[0]["conversation"])
{
Console.WriteLine(c["group_token"]);
}
这是关于JSON如何布局的图像: http://gyazo.com/5840a31b71d4cbea626899030debe5d8
我的代码根本不起作用!如何提取这些group_token值?
答案 0 :(得分:3)
您需要稍微更改代码(遍历对象,而不是属性);
dynamic j = JsonConvert.DeserializeObject(contents);
foreach (var c in j)
Console.WriteLine(c["conversation"]["group_token"]);
您当前的代码会遍历第一个conversation
对象的属性,并尝试获取每个属性的group_token
子元素,这是错误的。
答案 1 :(得分:1)
你也可以在下面试试。完全同意@Ulugbek Umirov
var _jArr = (JArray)JsonConvert.DeserializeObject(contents);
IEnumerable<string> _groupToken = _jArr.Select(conv => conv["conversation"]["group_token"].ToString());