使用嵌套 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中文网其他相关文章!