JSON.NET Auswählen von Elementen in Arrays mit linq

Brauche ich, um wählen Sie einige Werte aus der json-Antwort. Im mit json.net, gut mit den einfacheren Sachen, aber es scheint nicht zu viel Dokumentation/tutorials auf alles Vergangenheit. In der json-Beispiel unten habe ich auswählen müssen, um alle Altersgruppen:

{
"teacherHolder": [{
    "id": 200000001,
    "name": "Mr Test",
    "class": "a4",
    "students": [{
        "id": "100532469",
        "name": "ben"
    },
    {
        "id": "100506025",
        "name": "bill"
    },
    {
        "id": "100000447",
        "name": "bob"
    }]

}]

}

Habe ich versucht, diese und andere Variationen:

var stuff = response["teacherHolder"].Children()["students"];

var names = from y in stuff.Children().Values()
                    select y["name"];

und so:

var names= response["teacherHolder"]
            .Select(s => (string)s.SelectToken("students[0].name")).ToList();

Antwort ist ein JObject aus einem webrequest.
Ich bekomme nur das zurück:

[{"Key":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]","Value":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]"}]

Die Ergebnisse werden schließlich in einem Wörterbuch.

Jede Idee, wie dies zu tun? ich weiß, es wird einfach sein, nur ich habe nicht gefunden, die passende Kombination.

InformationsquelleAutor gdp | 2012-04-02

Schreibe einen Kommentar