0

我有一些这样的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());
4

1 回答 1

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());
于 2012-04-13T18:50:25.497 回答