【发布时间】:2019-05-10 02:57:48
【问题描述】:
我有一个 JSON 响应,当有超过 1 个元素时有时会返回一个数组,而当只有一个元素时返回一个对象。
类似这样的东西:-
"JLLBrokerAllocations": {
"JLLBrokerAllocation": [
{
"AllocPercent": 50,
"Amount": 4,
"Email": "",
"EmpId": 214309,
"EmpLoginId": "Carlin.Power",
"EmpName": "Power, Carlin",
"Id": 1147842,
"LeadBroker": true,
"MarketId": "AM0001",
"Markets": "",
"OpUnitId": 250050,
"OpUnits": ""
},
{
"AllocPercent": 50,
"Amount": 4,
"Email": "",
"EmpId": 999111,
"EmpLoginId": "Sai.Abhiram",
"EmpName": "Abhiram, Sai",
"Id": 1147843,
"LeadBroker": true,
"MarketId": "AM2900",
"Markets": "",
"OpUnitId": 200028,
"OpUnits": ""
}
]
},
有时像这样:-
"JLLBrokerAllocations": {
"JLLBrokerAllocation":
{
"AllocPercent": 50,
"Amount": 4,
"Email": "",
"EmpId": 214309,
"EmpLoginId": "Carlin.Power",
"EmpName": "Power, Carlin",
"Id": 1147842,
"LeadBroker": true,
"MarketId": "AM0001",
"Markets": "",
"OpUnitId": 250050,
"OpUnits": ""
}
}
问题是当我在 C# 中反序列化对象时,我收到一条错误消息“Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List1[JLL.BTP.DealioService.Models.Dealio.DealAllocation]”,因为该类型需要 JSON 数组(例如 [1 ,2,3]) 正确反序列化。`"
如何克服这个问题。我想要一个响应类,并且想要反序列化响应类的 JSON 响应。
任何建议将不胜感激!
【问题讨论】:
-
你见过stackoverflow.com/questions/5224697/… - 如果我要把这个 q 作为重复投票,我会选择它