Heim > Backend-Entwicklung > C++ > Wie kann ich JSON mit dynamischen Eigenschaftennamen als Kennungen in ein stark typisiertes C# -Objekt deserialisieren?

Wie kann ich JSON mit dynamischen Eigenschaftennamen als Kennungen in ein stark typisiertes C# -Objekt deserialisieren?

Mary-Kate Olsen
Freigeben: 2025-01-30 00:01:09
Original
862 Leute haben es durchsucht

How Can I Deserialize JSON with Dynamic Property Names as Identifiers into a Strongly Typed C# Object?

JSON hat ein starkes Objekt C# mit dem Attributnamen als Bezeichner

erstellt.

Problembeschreibung

Beim Versuch, ein starkes Typ -C -Objekt aus JSON -Daten zu erstellen, stieß der Autor das Problem der Verarbeitung des Attributnamens im JSON -Objekt. Der vorhandene Code versucht, die geschichtete Klassenstruktur zu verwenden, um die JSON -Datei zu serialisieren. Der Attributname (Session -Logo) wird jedoch nicht als Objektattribut erkannt.

Lösung

Um dieses Problem zu lösen, muss der Autor das Stammobjekt in der C# -Klasse als

ändern. Diese Änderung ermöglicht es, dass der Namen des JSON -Objektattributs als Wörterbuchschlüssel abgebildet wird.

Dictionary<string, SessionPerformanceStats> Code Beispiel

oder, wenn der Attributname im JSON -Objekt immer nummeriert ist, kann der Wörterbuchschlüssel als lang und stormisch definiert werden:
<code class="language-csharp">var dictionary = JsonConvert.DeserializeObject<Dictionary<string, SessionPerformanceStats>>(theJsonResponse);</code>
Nach dem Login kopieren

Zusätzliche Beschreibung
<code class="language-csharp">var dictionary = JsonConvert.DeserializeObject<Dictionary<long, SessionPerformanceStats>>(theJsonResponse);</code>
Nach dem Login kopieren
Ziel dieser Modifikationen ist es, die korrekte Serialisierung des JSON -Objekts in ein Wörterbuch zu ermöglichen. Diese Methode ermöglicht den Attributnamen im JSON -Objekt als Wörterbuchschlüssel, um die JSON -Objektstruktur effektiv auf das C# -Dictionary zuzuordnen. Dies löst das Problem, dass die Sitzungskennung nicht als Objektattribut erkannt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit dynamischen Eigenschaftennamen als Kennungen in ein stark typisiertes C# -Objekt 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