【发布时间】:2020-01-26 06:48:07
【问题描述】:
当类的名称是根元素时,Newtonsoft json DeserializeObject 不解析 json 消息。
var json = " {\r\n \"amount\": {\r\n \"currency\": \"EUR\",\r\n \"value\": 99792\r\n }\r\n}";
var amount = JsonConvert.DeserializeObject<Amount>(json)
和班级
class Amount
{
[JsonProperty("value")]
public decimal? Value { get; set; }
[JsonProperty("currency")]
public string Currency { get; set; }
}
在这种情况下,Amount 属性为null。问题是金额嵌套在更复杂的json中,我发现它总是返回空,因为它以“金额”开头。当然,我在 Amount 类中尝试了一些注释,例如 [DataContract] 和 [JsonObject] 但它仍然是空的
在以下情况下:
var json = "{\r\n \"currency\": \"EUR\",\r\n \"value\": 99792\r\n }";
然后被正确解析。问题是如何在第一种情况下反序列化 json?
【问题讨论】:
标签: c# .net json.net deserialization json-deserialization