以下json中的错误在哪里

时间:2013-02-14 00:07:42

标签: javascript json

我有以下格式的json(它很长:(请随意编辑它以便复制它。

http://jsfiddle.net/kZpBu/

当我将其粘贴到http://www.jsoneditoronline.org/时   可视化它..它抛出错误

我正在尝试转换为此格式 http://jsfiddle.net/uNqe6/

这是非常流行的,而我的jsons有点扁平。

它说它期待一个EOF而不是“,” 第一种格式与第二种格式有何不同? 感谢

啊......他们不让我发帖而没有代码片段

{"name": "topic 0", "children": [{"name": "river", "size": 260462}, {"name": "water", "size": 154470}, {"name": "lake", "size": 137116}, {"name": "mountain", "size": 87756}..

4 个答案:

答案 0 :(得分:4)

对于像这样的事情,

http://jsonlint.com是一个很棒的网站。

错误在于您的JSON采用以下格式:

{
  // stuff
} , {
  // stuff
}

用逗号分隔的对象无效json。我怀疑你希望这是一个数组,在这种情况下你需要在[]中包围它:

[{
  // stuff
} , {
  // stuff
}]

答案 1 :(得分:3)

您的JSON定义了两个对象,如:

{"name":"topic 0" /*array*/},{"name":"topic 1" /*array*/}

这是期望对象的解析器的问题。如果您指的是两者的数组,请将[]中的JSON包装为:

[{"name":"topic 0" /*array*/},{"name":"topic 1" /*array*/}]

http://www.jsoneditoronline.org/很高兴。

答案 2 :(得分:2)

使用http://jsonlint.com。它会告诉你错误的确切位置。

Parse error on line 205:
...48        }    ]},{    "name": "top
--------------------^
Expecting 'EOF'

答案 3 :(得分:1)

在两个不在数组中的JSON对象之间。

{
    "name": "topic 0",
    "children": [
        {
            "name": "river",
            "size": 260462
        },
// Lots of stuff deleted
        {
            "name": "great",
            "size": 24348
        }
    ]

}, // Right here.

{
    "name": "topic 1",
    "children": [
        {
            "name": "number",
            "size": 59354
        },
// Elided