C# 反序列化对字典的Json响应<;字符串,对象>;抛出错误:反序列化对象时意外结束
嗨,我正在尝试反序列化json响应,如下所示C# 反序列化对字典的Json响应<;字符串,对象>;抛出错误:反序列化对象时意外结束,c#,json,json-deserialization,C#,Json,Json Deserialization,嗨,我正在尝试反序列化json响应,如下所示 { [ { "WebCash" : { "Id" : 1021, "RedemptionCode" : "sdfkjk", "PlayerCardId" : "3802", "Amount" : 8000, "Status" :
{
[
{
"WebCash" : {
"Id" : 1021,
"RedemptionCode" : "sdfkjk",
"PlayerCardId" : "3802",
"Amount" : 8000,
"Status" : 1,
"PurchaseTimeStamp" : 1445020270,
"RedeemTimeStamp" : 1445021971,
"RetailerId" : "1781",
"TerminalId" : "9",
}, {
"Id" : 1160,
"RedemptionCode" : "9123LKBJFDAXEK8194",
"PlayerCardId" : "3802",
"Amount" : 10000,
"Status" : 3,
"PurchaseTimeStamp" : 1445020270,
"RetailerId" : "1781",
"TerminalId" : "9",
}
}
]
}
当我们没有不同的块时,它可以正常工作,但当我们的响应类型为{[{,},{,}]}时,它会抛出错误
我正在使用以下代码
String Expected_Response = Response;
Dictionary<String, Object> ActualResponse_Dic = null;
ActualResponse_Dic = JsonConvert.DeserializeObject<Dictionary<String, Object>>(ResponseValue); //ResponseValue holds the entire Json response string
字符串预期\u响应=响应;
字典实际响应=null;
ActualResponse_Dic=JsonConvert.DeserializeObject(ResponseValue)//ResponseValue保存整个Json响应字符串
它在最后一行抛出错误
反序列化对象路径时出现意外结束…我同意Amy提供的评论。请尝试以下操作:
- 拆下最外面的大括号{}
- 删除“TerminalId”之后的逗号:“9”
- 在“WebCash”对象周围放置括号[]:
[{
"WebCash": [{
"Id": 1021,
"RedemptionCode": "sdfkjk",
"PlayerCardId": "3802",
"Amount": 8000,
"Status": 1,
"PurchaseTimeStamp": 1445020270,
"RedeemTimeStamp": 1445021971,
"RetailerId": "1781",
"TerminalId": "9"
}, {
"Id": 1160,
"RedemptionCode": "9123LKBJFDAXEK8194",
"PlayerCardId": "3802",
"Amount": 10000,
"Status": 3,
"PurchaseTimeStamp": 1445020270,
"RetailerId": "1781",
"TerminalId": "9"
}]
}]
您的JSON无效。此外,字典
{
"WebCash" : {
"Id" : 1021,
"RedemptionCode" : "sdfkjk",
"PlayerCardId" : "3802",
"Amount" : 8000,
"Status" : 1,
"PurchaseTimeStamp" : 1445020270,
"RedeemTimeStamp" : 1445021971,
"RetailerId" : "1781",
"TerminalId" : "9"
},
"WebCash2" : {
"Id" : 1160,
"RedemptionCode" : "9123LKBJFDAXEK8194",
"PlayerCardId" : "3802",
"Amount" : 10000,
"Status" : 3,
"PurchaseTimeStamp" : 1445020270,
"RetailerId" : "1781",
"TerminalId" : "9"
}
}
json字符串中的第二个键在哪里?它失败了,因为它不是有效的json。通过验证器运行它。非常感谢。我对JSON结构知之甚少。这解决了问题。