【发布时间】:2017-12-17 08:39:03
【问题描述】:
我正在尝试像这样反序列化 json:
{
"version": 3070,
"settings": [
[
"settingInteger",
0,
"1513486800",
{
"param": "A"
}
],
[
"settingBool",
1,
"false",
{
"param": "B"
}
],
[
"settingString",
2,
"somedata",
{
"param" : "C"
}
]
]
}
所以我尝试使用 DataContraceJsonSerializer 反序列化到这个类中:
[DataContract]
public class SettingSet
{
[DataMember(Name = "version")]
public int Version { get; set; }
[DataMember(Name = "settings)]
public Setting[] Settings { get; set; }
}
[DataContract]
public class Setting
{
[DataMember(Order = 0)]
public string OptionName { get; set; }
[DataMember(Order = 1)]
public SettingType Type { get; set; }
[DataMember(Order = 2)]
public string Value { get; set; }
[DataMember(Order = 3)]
public Dictionary<string, string> Parameters { get; set; }
}
但我只能得到Version 和空数组Settings。
如果我使用object[][] 而不是Setting[],我可以获得一些数据,但param 仍然无法访问。
有什么方法可以解决这个问题还是我应该使用其他 JSON 库?
【问题讨论】:
标签: c# json datacontractjsonserializer