Heim > Backend-Entwicklung > C++ > Wie kann ich JSON mit dynamischen Schlüsseln in C# mithilfe eines Wörterbuchs deserialisieren?

Wie kann ich JSON mit dynamischen Schlüsseln in C# mithilfe eines Wörterbuchs deserialisieren?

Mary-Kate Olsen
Freigeben: 2025-01-17 10:31:09
Original
164 Leute haben es durchsucht

How Can I Deserialize JSON with Dynamic Keys in C# Using a Dictionary?

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:

  1. 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.

  2. 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>
    Nach dem Login kopieren
  3. 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>
    Nach dem Login kopieren
  4. 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>
    Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage