我在尝试反序列化从外部源接收到的 JSON 时遇到问题。我不确定,但我认为可能是 JSON 本身是错误的,或者我做错了。有人可以阐明这一点吗?
这是我收到的 JSON:
{"results": {"result": 32}},{"statistics": {"positive": 47.3,"negative": 49.6,"breakeven": 3.1}}
这些是我的类(class):
public class dataClass
{
public resultsClass results { get; set; }
public statisticsClass statistics { get; set; }
}
public class resultsClass
{
public int result { get; set; }
}
public class statisticsClass
{
public Double? positive { get; set; }
public Double? negative { get; set; }
public Double? breakeven { get; set; }
}
这就是我反序列化的方式:
dataClass output = JsonConvert.DeserializeObject<dataClass>(response);
当我尝试反序列化时,出现错误:
Additional text encountered after finished reading JSON content
我将其归结为结果和统计数据之间的逗号。我认为结果的右括号和统计数据的左括号不应该存在。
还是我反序列化错了?
最佳答案
您的 JSON 格式不正确。
根据this sites验证:
Error: Parse error on line 5:
... "result": 32 }}, { "statistics": {
--------------------^
Expecting 'EOF', got ','
这个有效:
{
"results": {
"result": 32
},
"statistics": {
"positive": 47.3,
"negative": 49.6,
"breakeven": 3.1
}
}
关于c# - JSON 响应格式无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40346958/