我有以下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