期望'EOF'的JSON验证

时间:2014-03-03 16:18:44

标签: json

我正在制作一个安静的api并且已经使用http://jsonlint.com/进行了验证。合并后遇到了两个JSON对象;

Parse error on line 932:
...ssions": 329    }],[    {        "m
---------------------^
Expecting 'EOF'

我环顾四周,发现this问题,但所有答案都指向没有逗号,在我的问题中我有逗号。验证器还有什么可以寻找的?

它指向我的对象数组之间的代码;

],
[

4 个答案:

答案 0 :(得分:27)

你没有展示足够的JSON,但我猜它看起来像这样:

[
    {"some": "object"},
    {"some": "object"}
],
[
    {"some": "object"},
    {"some": "object"}
]

......这是无效的。在JSON中,必须有一个顶级项(在完整的JSON文档中必须是对象或数组)。

如果要组合两个响应,则可以使每个响应成为包装器对象上属性的值,例如:

{
    "response1": [
        {"some": "object"},
        {"some": "object"}
    ],
    "response2": [
        {"some": "object"},
        {"some": "object"}
    ]
}

答案 1 :(得分:0)

我不是多根JSON结构的专家 但这就是我所做的..只是将流的编码更改为UTF-8并且我的PHP代码开始运行良好

答案 2 :(得分:0)

就我而言,它是JSON对象末尾的分号,导致在jsonlint上抛出此错误:

Expecting 'EOF', '}', ',', ']', got 'undefined'

删除已解决的问题。

答案 3 :(得分:0)

删除括号中的双引号[