10
我需要從json響應中選擇一些值。我使用json.net,很簡單的東西,但似乎沒有太多的文檔/教程過去的任何事情。在JSON下面的例子,我需要選擇所有的年齡段:JSON.NET使用linq選擇數組中的項目
{
"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();
響應是來自webrequest的JObject。 我剛回來的:
[{"Key":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]","Value":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]"}]
結果最終被付諸一本字典。
任何想法如何做到這一點?我知道這很簡單,我只是沒有找到合適的組合。
喜svick IM - 但我得到的回覆是:{Newtonsoft.Json.Linq.JEnumerable}的名稱變量? –
gdp
2012-04-03 10:51:53
是的,這就是爲什麼我說你需要添加'Values()'如果你想要一個字符串的集合。 –
svick
2012-04-03 11:09:01
嗨svick我添加了值()到最後。其現在: var names = students.Children()[「name」]。值(); –
gdp
2012-04-03 11:53:25