>我有一些这样的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());
最终做到了。不相信这是最好的方法,但它有效。
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());