使用巢狀JSON 物件時,您可能會想要將它們反序列化為Dictionary
要實現正確的 C# 類型,您需要建立自訂 JsonConverter。以下轉換器將處理所有JSON 值類型並將它們轉換為對應的C# 類型:
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"); } } }
要使用自訂轉換器,請在反序列化選項中指定它:
var options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter() }, }; dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
以上是如何在 C# 中將巢狀 JSON 反序列化為巢狀字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!