Deserialisieren von verschachteltem JSON in ein verschachteltes Wörterbuch von Objekten mit den richtigen C#-Typen
In C# .Net Core 3.1 mit System.Text.Json, Deserialisieren verschachtelte JSON-Objekte in Dictionary
Benutzerdefinierter JsonConverter: ObjectAsPrimitiveConverter
Da System.Text.Json kein eingebauter Zur Unterstützung der Deserialisierung von Freiform-JSON in primitive Typen benötigen wir einen benutzerdefinierten JsonConverter. ObjectAsPrimitiveConverter, der die folgende Funktionalität bietet:
Code-Implementierung:
public class ObjectAsPrimitiveConverter : JsonConverter<object> { // Configure converter settings (float format, unknown number handling, object format) ... public override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options) { // Handle custom serialization if needed } public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { // Handle custom deserialization based on token type } }
Konfiguration und Verwendung:
Um den benutzerdefinierten Konverter zu verwenden, konfigurieren Sie Ihre JsonSerializerOptions mit dem ObjectAsPrimitiveConverter und geben Sie die gewünschten Einstellungen an:
var options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter() }, WriteIndented = true, }; // Deserialize to object or dynamic dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
Hinweise:
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich verschachteltes JSON mithilfe von System.Text.Json in ein verschachteltes Wörterbuch von Objekten mit den richtigen C#-Typen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!