Heim > Backend-Entwicklung > C++ > Wie kann ich Wörterbücher als übergeordnete Objekteigenschaften in JSON.NET serialisieren?

Wie kann ich Wörterbücher als übergeordnete Objekteigenschaften in JSON.NET serialisieren?

DDD
Freigeben: 2025-01-17 11:12:08
Original
229 Leute haben es durchsucht

How Can I Serialize Dictionaries as Parent Object Properties in JSON.NET?

JSON.NET: Wörterbuch in übergeordnete Objekteigenschaften serialisieren

Bei der Serialisierung mit JSON.NET stellt sich häufig die Frage, wie Objekte mit Wörterbucheigenschaften serialisiert werden. Standardmäßig serialisiert JSON.NET Wörterbücher nicht als Teil des übergeordneten Objekts und ignoriert sie stattdessen. Um dieses Problem zu lösen, werden wir eine Lösung untersuchen, die die Einbeziehung von Wörterbucheigenschaften in die JSON-Darstellung des übergeordneten Objekts ermöglicht.

Stellen Sie sich eine Klasse vor, die eine Zeichenfolgeneigenschaft und eine Wörterbucheigenschaft enthält:

<code>public class Test
{
    public string X { get; set; }

    public Dictionary<string, string> Y { get; set; }
}</code>
Nach dem Login kopieren

Das von uns erwartete JSON-Ausgabeformat ist wie folgt, wobei die Wörterbuchattribute („key1“ und „key2“) direkt im übergeordneten Objekt verschachtelt sind:

<code>{
    "X": "value",
    "key1": "value1",
    "key2": "value2"
}</code>
Nach dem Login kopieren

Um dieses Ergebnis zu erzielen, können wir JSON.NET 5.0.5 oder höher verwenden und das Wörterbuchattribut wie folgt ändern:

<code>[JsonExtensionData]
public Dictionary<string, object> Y { get; set; }</code>
Nach dem Login kopieren

Durch die Anwendung des [JsonExtensionData]-Attributs auf eine Wörterbucheigenschaft weisen wir JSON.NET an, die Schlüssel und Werte des Wörterbuchs als Teil des übergeordneten Objekts zu serialisieren. Darüber hinaus unterstützt dieser Mechanismus die Deserialisierung und stellt so sicher, dass alle JSON-Eigenschaften, die keinen Klassenmitgliedern entsprechen, im erweiterten Datenwörterbuch gespeichert werden.

Das obige ist der detaillierte Inhalt vonWie kann ich Wörterbücher als übergeordnete Objekteigenschaften in JSON.NET serialisieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage