Wenn Sie mit verschachtelten JSON-Objekten arbeiten, möchten Sie diese möglicherweise in ein Dictionary
Um die richtigen C#-Typen zu erhalten, müssen Sie erstellen ein benutzerdefinierter JsonConverter. Der folgende Konverter verarbeitet alle JSON-Werttypen und konvertiert sie in die entsprechenden C#-Typen:
public class ObjectAsPrimitiveConverter : JsonConverter<object> { ... public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { switch (reader.TokenType) { // Handle null, boolean, string, and number types. case JsonTokenType.StartArray: // Handle arrays. case JsonTokenType.StartObject: // Handle objects. default: throw new JsonException("Unknown token"); } } }
Um den benutzerdefinierten Konverter zu verwenden, geben Sie ihn in Ihren Deserialisierungsoptionen an:
var options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter() }, }; dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich verschachteltes JSON in ein verschachteltes Wörterbuch in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!