我有一些像这样的json:
[{
"id": "20148324",
"teacher", "Mr Jones",
"names": ["john", "bill", "ben"],
"priority": 2
},
{
"id": "56128324",
"teacher", "Mrs Jones"
"names": ["john", "bill", "ben"],
"priority": 1
}]
我希望能够首先选择优先级值为1的子项,然后在该子项中我想在嵌套名称数组中选择姓氏。
我可以通过两个步骤完成此任务,但想知道如何使用一个linq语句来完成它。
这是我到目前为止所得到的,但我只添加了一个字典项目。如何将所有名称与教师姓名分别添加到词典中:
var things = response.Where(p => p["priority"].Value<int>() == 1)
.ToDictionary(m => m["teacher"].ToString(),
m => m["names"].Children().ToString());
答案 0 :(得分:0)
最终做到了这一点。不相信它是最好的方式,但它确实有效。
var data = response.Where(p => p["priority"].Value<int>() == 1)
.SelectMany(s=>s["names"])
.ToDictionary(m => m.Value<string>(),
m => m.Parent.Parent.Parent["teacher"].ToString());