Heim >Backend-Entwicklung >C++ >Wie kann ich Wörterbucheigenschaften in die Serialisierung übergeordneter Objekte mit Json.Net einbeziehen?
Erweitern Sie die Serialisierung übergeordneter Objekte mit Json.Net um Wörterbuchattribute
Wenn die Objektserialisierung komplexe Datenstrukturen wie Wörterbücher umfasst, kann es erforderlich sein, diese Eigenschaften in die JSON-Darstellung des übergeordneten Objekts aufzunehmen.
Zum Beispiel eine Klasse, die ein Wörterbuch enthält:
<code>public class Test { public string X { get; set; } public Dictionary<string, string> Y { get; set; } }</code>
Die erwartete JSON-Ausgabe ist:
<code>{ "X" : "value", "key1": "value1", "key2": "value2" }</code>
wobei die Wörterbuchschlüssel als Teil des übergeordneten Objekts enthalten sind.
Für Json.Net 5.0.5 und höher besteht eine einfache Lösung darin, das [JsonExtensionData]
-Attribut zu verwenden:
<code>public class Test { public string X { get; set; } [JsonExtensionData] public Dictionary<string, object> Y { get; set; } }</code>
Wenn ein Wörterbuch mit diesem Attribut markiert ist, werden seine Schlüssel und Werte während der Serialisierung in die JSON-Darstellung des übergeordneten Objekts aufgenommen. Dieser Ansatz erstreckt sich auch auf die Deserialisierung, bei der nicht übereinstimmende JSON-Attribute in einem Wörterbuch gespeichert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Wörterbucheigenschaften in die Serialisierung übergeordneter Objekte mit Json.Net einbeziehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!