c# - JSON 响应格式无效?

标签 c# json

我在尝试反序列化从外部源接收到的 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/

相关文章:

asp.net - 与服务器通信时发生错误

c# - 如何查看在不同计算机上创建的 Visual Studio VSP 文件?

c# - 使用仅在运行时已知的特征列的 DataTable 构建和训练模型的 ML.NET

c# - 在 FAKE MSBuild 任务中定义预处理器符号

javascript - 如何使用复杂模型在 Knockout JS 上刷新或加载 JSON 到我的 viewModel

javascript - 从 Javascript 检索 JSON 对象值

c# - 创建一个包含已选中复选框的值的组合框

c# - 我得到了他的代码,转换摄氏度和华氏度没有错误,但是答案是错误的

jQuery 使用 .text() + JSON 保存字符串并使用 .val() 读取字符串会丢失换行符

php - Javascript、AJAX 和 JSON 问题