Bei der Arbeit mit JSON-Daten, die Objekte mit dynamischen Schlüsselnamen enthalten, wird es schwierig, direkt auf Objekteigenschaften zuzugreifen. Dies liegt daran, dass für die typische Objektserialisierung vordefinierte Klasseneigenschaften erforderlich sind.
Um dies zu umgehen, können wir ein Dictionary
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; } }
Verwendung der oben genannten Klassen und der angegebenen JSON-Daten:
RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);
Wir können jetzt auf die deserialisierten Objekte zugreifen und diese durchlaufen :
foreach (string key in root.users.Keys) { User user = root.users[key]; // Access user properties here }
Ausgabe:
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
Durch die Nutzung von Wörterbüchern können wir kann JSON-Daten effektiv mit dynamischen Schlüsselnamen deserialisieren und bequem auf Objekteigenschaften zugreifen.
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich JSON mit dynamischen Schlüsseln mithilfe von Wörterbüchern in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!