我对这个JSON做错了什么?

时间:2012-02-20 10:18:16

标签: javascript html json formatting

我已经用JSON编写了这个脚本,我把它放在了JSON构建器中,它在日程表行上说它正在期待字符串。有人能告诉我我做错了吗?

{
    "ParentGroup": {
        "group_id": "",
        "group_name": "Group A",
        "schedule": {
            [
                "start":"9",
                "end":"10"
            ],
            [
                "start":"12",
                "end":"13"
            ]
        }

    }
}

5 个答案:

答案 0 :(得分:8)

计划部分应为:

    "schedule": [
        {
            "start":"9",
            "end":"10"
        },
        {
            "start":"12",
            "end":"13"
        }
    ]

这是一个包含两个对象的数组,而不是一个包含两个数组的对象: - )

答案 1 :(得分:4)

您的schedule属性是一个对象,因此接下来需要属性标识符。我想,你的意思是这样的:

    "schedule": [
        {
            "start":"9",
            "end":"10"
        },
        {
            "start":"12",
            "end":"13"
        }
    ]

通常[ ]表示数组,因此不需要属性标识符,而{ }表示每个属性都需要id的对象。

答案 2 :(得分:4)

有一些很好的工具可以验证json :)例如。 http://jsonformatter.curiousconcept.com/#jsonformatter

根据您的目的,这里有一个有效的json解决方案:

{
  "ParentGroup":
  {
    "group_id": "",
    "group_name": "Group A",
    "schedule":
    [
        {
            "start":"9",
            "end":"10"
        },
        {
            "start":"12",
            "end":"13"
        }
    ]
  }
}

答案 3 :(得分:1)

您正在填充一个数组,其中包含应该在对象中的名称:值对(大括号表示法)。

答案 4 :(得分:1)

我相信它应该像

{
    "ParentGroup": {
        "group_id": "",
        "group_name": "Group A",
        "schedule": [
            {
                "start":"9",
                "end":"10"
            },
            {
                "start":"12",
                "end":"13"
            }
        ]

    }
}

因为schedule是对象数组而不是数组的对象