Heim > Backend-Entwicklung > C++ > Wie deserialisiere ich JSON mit dynamischen Schlüsseln in ein C#-Objekt mithilfe von Json.NET?

Wie deserialisiere ich JSON mit dynamischen Schlüsseln in ein C#-Objekt mithilfe von Json.NET?

Mary-Kate Olsen
Freigeben: 2025-01-19 19:31:09
Original
971 Leute haben es durchsucht

How to Deserialize JSON with Dynamic Keys into a C# Object Using Json.NET?

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

Beim Empfang einer JSON-Antwort mit dynamischen Schlüsseln kann die Deserialisierung in ein C#-Objekt mit einem vordefinierten Datenmodell schwierig sein. In diesem Artikel wird ein bestimmtes Szenario beschrieben, in dem die JSON-Antwort Objekte mit dynamischen Schlüsseln enthält.

Die folgende JSON-Antwort veranschaulicht das Problem:

<code>{
"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>
Nach dem Login kopieren

Das Ziel besteht darin, diesen JSON in eine Liste von Dataset-Objekten mit Namens-, Gruppen- und Beschreibungseigenschaften zu deserialisieren.

Lösung: Verwenden Sie Json.NET und Wörterbuch

Json.NET bietet eine Lösung für die Deserialisierung von JSON mit dynamischen Schlüsseln für C#-Objekte. Mithilfe von JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json) können Sie JSON in ein Wörterbuch deserialisieren, in dem die Schlüssel dynamische Schlüssel aus der JSON-Antwort und die Werte Dataset-Objekte sind.

Der folgende Code demonstriert diese Lösung:

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

...

// 将JSON反序列化到一个包含动态键和Dataset对象的字典中
var 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
}, 
}";
var datasetDictionary = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);

// 使用动态键作为字典键访问Dataset对象
foreach (var dataset in datasetDictionary.Values)
{
    Console.WriteLine($"Dataset: {dataset.name}, Group: {dataset.group}, Description: {dataset.description}");
}</code>
Nach dem Login kopieren

Mit dieser Lösung können Sie JSON mit dynamischen Schlüsseln für ein C#-Objekt deserialisieren und dabei die ursprüngliche Schlüssel-Wert-Struktur beibehalten.

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich JSON mit dynamischen Schlüsseln in ein C#-Objekt mithilfe von Json.NET?. 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