我有以下JSON数据,类和代码,但它不起作用。我得到3个对象的列表,但都是NULL。任何人都可以建议我在这里失去什么?如何反序列化asp.net中的JSON数据?
JSON数据:
[
{
"donotpostalmail": {
"Do Not Allow": {
"Do Not Allow": 1
},
"Allow": {
"Allow": 0
}
}
},
{
"familystatuscode": {
"Single": {
"Single": 1
},
"Married": {
"Married": 2
},
"Divorced": {
"Divorced": 3
},
"Widowed": {
"Widowed": 4
}
}
},
{
"preferredcontactmethodcode": {
"Any": {
"Any": 1
},
"Email": {
"Email": 2
},
"Phone": {
"Phone": 3
},
"Fax": {
"Fax": 4
},
"Mail": {
"Mail": 5
}
}
}
]
类:
public class ResponseDataOfOptions
{
public OptionsList mainList { get; set; }
}
public class OptionsList
{
public Dictionary<string, Options> optionList { get; set; }
}
public class Options
{
public Dictionary<string, int> options { get; set; }
}
.cs文件代码:
List<ResponseDataOfOptions> optionList = JsonConvert.DeserializeObject<List<ResponseDataOfOptions>>(objResponse.ResponseDataOfOptions);
我相信您的问题映射响应到字典。你有没有尝试过使用类似http://json2csharp.com来构建类?无可否认,我之前没有与Json - > dict合作过,但那应该是问题。 –
我试过了。它为我提供了非常差的JSON级别。所以,我尝试了我自己。通常,如果JSON基于Dictionary,json2csharp.com不会提供更好的解决方案。 –
您的对象模型绝不代表您的JSON数据 - 您如何期望任何解串器知道在哪里放置什么值? – Jamiec