如何解决使用不一致的属性反序列化json-object
从外部API获得的json响应不一致。
对于某些对象,我得到如下信息:
"open": {
"devices": {
"mobile": 25,"desktop": 16
}
}
对于另一个对象(相同的请求),我得到如下信息:
"open": {
"devices": []
}
我猜想,devices
中没有数据时,我会得到第二个响应。
我正在尝试将其反序列化为以下课程:
public partial class Open
{
[JsonProperty("devices")]
public Devices Devices {get; set;}
}
public partial class Devices
{
[JsonProperty("mobile")]
public int Mobile {get; set;}
[JsonProperty("desktop")]
public int Desktop {get; set;}
}
,但是当devices
是一个空数组时(这是有道理的),这是行不通的。
关于如何使用Json.NET做到这一点的任何想法?
编辑:
有人发布了可能的答案。
How to handle both a single item and an array for the same property using JSON.net-没有回答我的问题,因为正确的“设备”版本只是一个对象,而不是数组。我无法将其反序列化为一系列设备。
Deserialize JSON as object or array with JSON.Net-动态和对象不是一种选择,因为我知道正确的数据类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。