【发布时间】:2021-11-30 23:48:43
【问题描述】:
与Deserializing stringified (quote enclosed) nested objects with Jackson 相同的问题,但针对 C# 和 Newtonsoft Json.Net。问题是如何使用 Json.Net 反序列化 JSON 的嵌套字符串表示。来自 REST 端点的示例响应:
{
"Id": "abcd1234",
"Foo": "{\"field1\": "abc", \"field2\": \"def\"}"
}
C# 模型:
public class Model {
public Guid Id { get; set; }
public Dictionary<string, string> Foo { get; set; }
}
只是调用JsonConvert.DeserializeObject<Model>(returnedJson) 会出错,因为返回形式的 Foo 是字符串化的 JSON,也就是一个字符串。我们的 JSON 响应中的其他字段也是如此,它们的模型中关联了不同的 Dictionary 类型(例如 Dictionary
处理这个问题的最简单方法是什么?自定义 JsonConverter 是必要的还是有一些内置的方法来处理它?
【问题讨论】: