Heim >Backend-Entwicklung >C++ >Wie kann ich JSON mit dynamischen Schlüsseln in C# mithilfe eines Wörterbuchs deserialisieren?
Umgang mit dynamischen JSON-Schlüsseln in C# mit Wörterbüchern
JSON-Daten stellen beim Umgang mit unvorhersehbaren Schlüsseln oft eine Herausforderung dar. Dieser Artikel konzentriert sich auf ein häufiges Szenario: einen statischen Root-Schlüssel („täglich“ in diesem Beispiel), der dynamische, zeitstempelbasierte Schlüssel enthält. Die Lösung besteht in der Verwendung eines Wörterbuchs zur flexiblen Deserialisierung.
Hier ist ein robuster Ansatz:
Wörterbücher für Flexibilität nutzen: Anstatt eine starre Klassenstruktur zu erstellen, verwenden Sie Dictionary<string, object>
, um die dynamischen Schlüssel unterzubringen. Dies ermöglicht eine nahtlose Handhabung unbekannter Schlüssel zur Laufzeit.
Deserialisieren mit JavaScriptSerializer
: Verwenden Sie die Klasse JavaScriptSerializer
, um die JSON-Zeichenfolge in ein Wörterbuch zu analysieren. Der folgende Code demonstriert dies:
<code class="language-csharp"> var deserializer = new JavaScriptSerializer(); var dictionary = deserializer.Deserialize<Dictionary<string, object>>(json);</code>
Zugriff auf das verschachtelte Wörterbuch: Die dynamischen Schlüssel sind unter dem Schlüssel „täglich“ verschachtelt. Extrahieren Sie dieses verschachtelte Wörterbuch mit:
<code class="language-csharp"> var dailyData = dictionary["daily"] as Dictionary<string, object>;</code>
Daten iterieren und darauf zugreifen: Abschließend iterieren Sie durch das dailyData
Wörterbuch, um auf die dynamischen Zeitstempel und die zugehörigen Werte zuzugreifen:
<code class="language-csharp"> foreach (var kvp in dailyData) { string timestamp = kvp.Key; object value = kvp.Value; Console.WriteLine($"{timestamp}: {value}"); }</code>
Diese Methode bietet eine flexible und effiziente Möglichkeit, JSON mit dynamischen Schlüsseln zu verarbeiten und gewährleistet einen einfachen Zugriff auf die zugrunde liegenden Daten, ohne dass Vorkenntnisse über die Schlüsselstruktur erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit dynamischen Schlüsseln in C# mithilfe eines Wörterbuchs deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!