Heim >Backend-Entwicklung >C++ >Wie deserialisiere ich JSON mit dynamischen untergeordneten Objektschlüsseln in C#?
Untergeordnete Objekte mit dynamischen Schlüsseln deserialisieren
In bestimmten Szenarien können JSON-Daten mit dynamischen Schlüsseln für untergeordnete Objekte auftreten. Um diese Daten effektiv zu deserialisieren, sollten Sie Wörterbücher anstelle herkömmlicher Klassen verwenden.
Wörterbücher zur Deserialisierung verwenden
Anstatt für jedes untergeordnete Objekt eine herkömmliche Klasse zu erstellen, können Sie diese verwenden a Dictionary
Definieren der Klassen
Definieren Sie für dieses Beispiel die Klassen wie folgt:
class RootObject { public Dictionary<string, User> users { get; set; } } class User { public string name { get; set; } public string state { get; set; } public string id { get; set; } }
Deserialisieren des JSON Daten
Um die JSON-Daten in Ihre RootObject-Klasse zu deserialisieren, verwenden Sie den folgenden Code:
RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);
Zugriff auf untergeordnete Objekte
Einmal Deserialisiert können Sie direkt über das Wörterbuch auf die untergeordneten Objekte zugreifen Schlüssel:
foreach (string key in root.users.Keys) { User user = root.users[key]; Console.WriteLine($"key: {key}"); Console.WriteLine($"name: {user.name}"); Console.WriteLine($"state: {user.state}"); Console.WriteLine($"id: {user.id}"); Console.WriteLine(); }
Beispiel
Berücksichtigen Sie die folgenden JSON-Daten:
{ "users" : { "100034" : { "name" : "tom", "state" : "WA", "id" : "cedf-c56f-18a4-4b1" }, "10045" : { "name" : "steve", "state" : "NY", "id" : "ebb2-92bf-3062-7774" }, "12345" : { "name" : "mike", "state" : "MA", "id" : "fb60-b34f-6dc8-aaf7" } } }
Mit dem bereitgestellten Code können Sie die Daten deserialisieren und Greifen Sie auf jedes untergeordnete Objekt zu, was zur folgenden Ausgabe führt:
key: 10045 name: steve state: NY id: ebb2-92bf-3062-7774 key: 12345 name: mike state: MA id: fb60-b34f-6dc8-aaf7 key: 100034 name: tom state: WA id: cedf-c56f-18a4-4b1
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich JSON mit dynamischen untergeordneten Objektschlüsseln in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!