Heim >Backend-Entwicklung >C++ >Wie deserialisiere ich JSON mit dynamischen Schlüsseln in eine Liste von Objekten in C#?

Wie deserialisiere ich JSON mit dynamischen Schlüsseln in eine Liste von Objekten in C#?

Linda Hamilton
Linda HamiltonOriginal
2025-01-19 19:27:11129Durchsuche

How to Deserialize JSON with Dynamic Keys into a List of Objects in C#?

JSON-Deserialisierung, die dynamische Schlüssel in C# verarbeitet

Beim Empfang von JSON-Antworten mit dynamischen Schlüsseln besteht eine häufige Aufgabe darin, diese in eine Liste von Objekten in C# zu deserialisieren. Betrachten wir ein Szenario, in dem die JSON-Antwort den folgenden Inhalt enthält:

<code class="language-json">{
"nasdaq_imbalance": {
    "name": "nasdaq_imbalance",
    "group": "Market Data",
    "description": null
},
"DXOpen IM": {
    "name": "DXOpen IM",
    "group": "Daily",
    "description": null
},
"Float Shares": {
    "name": "Float Shares",
    "group": "Daily",
    "description": null
}
}</code>

Deserialisierung dynamischer Schlüssel behandeln

Um diesen JSON in eine Liste von Objekten zu deserialisieren, können Sie die folgenden Schritte ausführen:

  1. Deserialisieren Sie JSON in Dictionary<string, Dataset> mithilfe von Json.NET.
  2. Durchlaufen Sie das Wörterbuch, um die Liste der Dataset-Objekte zu füllen.

Das Folgende ist ein Beispielcode:

<code class="language-csharp">using Newtonsoft.Json;
using System.Collections.Generic;

// ...

var jsonObject = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);
var datasetList = new List<Dataset>();

foreach (var item in jsonObject)
{
    datasetList.Add(item.Value);
}</code>

Dieser Code erstellt eine Dataset Liste von Objekten, die die Werte der dynamischen Schlüssel in der JSON-Antwort enthalten. Die resultierende Liste lautet:

<code>datasetList[0].name = "nasdaq_imbalance"
datasetList[0].group = "Market Data"

datasetList[1].name = "DXOpen IM"
datasetList[1].group = "Daily"

datasetList[2].name = "Float Shares"
datasetList[2].group = "Daily"</code>

Bitte beachten Sie, dass diese Methode davon ausgeht, dass die Klasse Dataset definiert ist und die Eigenschaften name und group enthält. Sie müssen den Code entsprechend Ihrer tatsächlichen Dataset Klassenstruktur anpassen.

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich JSON mit dynamischen Schlüsseln in eine Liste von Objekten in C#?. 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