0

我有一个以下格式的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

4 回答 4

4

http://jsonlint.com是一个很好的网站,可以处理这样的事情。

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

{
  // stuff
} , {
  // stuff
}

用逗号分隔的对象不是有效的 json。我怀疑您希望这是一个数组,在这种情况下,您需要将其包围在[]

[{
  // stuff
} , {
  // stuff
}]
于 2013-02-14T00:13:38.413 回答
3

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

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

对于期望对象的解析器来说,这是一个问题。如果您的意思是两者的数组,请将 JSON 包装[]为:

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

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

于 2013-02-14T00:13:09.650 回答
2

使用http://jsonlint.com。它会准确地告诉你你的错误在哪里。

Parse error on line 205:
...48        }    ]},{    "name": "top
--------------------^
Expecting 'EOF'
于 2013-02-14T00:13:28.667 回答
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
于 2013-02-14T00:13:01.507 回答