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

Wie kann ich JSON mit dynamischen Schlüsseln in C# deserialisieren?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-17 10:27:09561Durchsuche

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

Handhabung der JSON-Deserialisierung dynamischer Schlüssel in C#

Bei der Verarbeitung von JSON-Daten kann die Begegnung mit dynamischen Schlüsseln zu Problemen bei der Deserialisierung führen. Betrachten Sie die folgende JSON-Zeichenfolge:

<code class="language-json">{
    "daily": {
        "1337990400000": 443447,
        "1338076800000": 444693,
        "1338163200000": 452282,
        "1338249600000": 462189,
        "1338336000000": 466626
    }
}</code>

In dieser Zeichenfolge ist der „tägliche“ Schlüssel statisch, aber der zugrunde liegende Schlüssel ist dynamisch und kann bei der Deserialisierung nicht vorhergesagt werden. Um dieses Problem zu lösen, können wir die Leistungsfähigkeit dynamischer Objekte nutzen.

Mit der Klasse JavaScriptSerializer können wir ein dynamisches Objekt wie unten gezeigt erstellen:

<code class="language-csharp">dynamic deser = new JavaScriptSerializer().Deserialize<dynamic>(val);</code>

Durch diese Deserialisierung wird ein dynamisches Objekt deser erstellt, das auf JSON-Eigenschaften zugreifen kann. Um auf tägliche Daten zuzugreifen, können wir die folgende Anweisung verwenden:

<code class="language-csharp">dynamic justDaily = deser["daily"];</code>
Das Objekt

justDaily stellt nun Tagesdaten dar und auf seine dynamischen Schlüssel kann zugegriffen werden. Um die Schlüssel und ihre Werte zu durchlaufen, können wir den folgenden Code verwenden:

<code class="language-csharp">foreach (string key in justDaily.Keys)
    Console.WriteLine(key + ": " + justDaily[key]);</code>

Dadurch werden die dynamischen Schlüssel und ihre entsprechenden Werte ausgegeben. Durch die Verwendung dynamischer Objekte können wir JSON-Daten effizient deserialisieren, selbst wenn dynamische Schlüssel auftreten.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit dynamischen Schlüsseln in C# deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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