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!