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 の子を選択できるようにしたいのですが、その子で、ネストされた名前の配列で姓を選択したいと考えています。

これは 2 つのステップで実現できますが、1 つの linq ステートメントでどのように実現できるのか疑問に思っていました。

これは私がこれまでに得たものですが、追加された辞書項目は1つだけです。すべての名前を教師の名前で個別に辞書に追加するにはどうすればよいですか。

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 に答える