[英]Deserializing Json Response to a Dictionary<string, object> throws error : unexpected end when deserializing object
嗨,我正在尝试反序列化json响应,如下所示
{
[
{
"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
反序列化对象Path时,它将在最后一行意外的末尾引发错误。
我同意艾米提供的评论。 请尝试以下操作:
也许像下面这样:
[{
"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无效。 此外, Dictionary <String,Object>可能会序列化为如下形式:
{
"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"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.