【发布时间】:2012-04-16 13:55:27
【问题描述】:
我需要从 json 响应中选择一些值。我正在使用 json.net,可以使用更简单的东西,但似乎没有太多关于过去的文档/教程。在下面的 json 示例中,我需要选择所有年龄:
{
"teacherHolder": [{
"id": 200000001,
"name": "Mr Test",
"class": "a4",
"students": [{
"id": "100532469",
"name": "ben"
},
{
"id": "100506025",
"name": "bill"
},
{
"id": "100000447",
"name": "bob"
}]
}]
}
我已经尝试过这个和其他变体:
var stuff = response["teacherHolder"].Children()["students"];
var names = from y in stuff.Children().Values()
select y["name"];
还有这个:
var names= response["teacherHolder"]
.Select(s => (string)s.SelectToken("students[0].name")).ToList();
response 是来自 webrequest 的 JObject。 我刚刚得到这个:
[{"Key":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]","Value":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]"}]
结果最终被放入字典。
知道怎么做吗?我知道这很简单,我只是还没有找到合适的组合。
【问题讨论】: