Das Durchlaufen einer verschachtelten JSON-Array in C# mit Newtonsoft

Habe ich einen block von JSON wie folgt:

[
  {
    "id": 1,
    "name": "Section1",
    "project_id": 100,
    "configs": [
      {
        "id": 1000,
        "name": "myItem1",
        "group_id": 1
      }
    ]
  },
  {
    "id": 2,
    "name": "Section2",
    "project_id": 100,
    "configs": [
      {
        "id": 1001,
        "name": "myItem2",
        "group_id": 2
      },
      {
        "id": 1002,
        "name": "myItem3",
        "group_id": 2
      },
      {
        "id": 1003,
        "name": "myItem4",
        "group_id": 2
      }
    ]
  },
  {
    "id": 3,
    "name": "Section3",
    "project_id": 100,
    "configs": [
      {
        "id": 1004,
        "name": "myItem5",
        "group_id": 5
      },
    ]
  }
]

Ich zog Sie in den Speicher als JArray.

Brauche ich um zu Durchlaufen und so bin ich Griff nach einer Liste der ids und Namen aus nur die config sub-arrays. Im Idealfall werde ich am Ende mit etwas wie dieses:

1000, myItem1
1001, myItem2
1002, myItem3
1003, myItem4
1004, myItem5

Ich habe eine harte Zeit zu verstehen, was Newstonsoft fordert eine JObject vs ein JArray, oder wie Sie auf die verschiedenen Teile jedes dieser Daten-Strukturen. Was ich jetzt haben, ist wie folgt:

foreach (JObject config in result["configs"])
{
    string id = (string)config["id"];
    string name = (string)config["name"];
    string gid = (string)config["group_id"];

    Console.WriteLine(name + " - " + id + " - " + gid);
}

Funktioniert das nicht, aber ich hoffe es verdeutlicht was mein Ziel ist. Ich habe nicht in der Lage um Stück zusammen, wie um dieses Ziel zu erreichen.

  • Bitte geben Sie eine minimale reproduzierbare Beispiel. Was ist das Ergebnis?
  • Der einfache Weg ist, definieren Sie einige Klassen für die Struktur - verwenden Sie die Hilfe-of jsonutils.com - und Deserialisieren der json-in den Klassen.
InformationsquelleAutor mkautzm | 2017-11-22
Schreibe einen Kommentar