Что я делаю не так с этим JSON? - PullRequest
1 голос
/ 20 февраля 2012

Я записал этот сценарий в JSON и поместил его в JSON Builder, и в строке расписания указано, что он ожидает строку.Может кто-нибудь сказать мне, что я делаю не так?

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

    }
}

Ответы [ 5 ]

8 голосов
/ 20 февраля 2012

Часть расписания должна быть:

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

Это массив, содержащий два объекта, а не объект, содержащий два массива: -)

4 голосов
/ 20 февраля 2012

Есть несколько отличных инструментов для проверки json :) например. http://jsonformatter.curiousconcept.com/#jsonformatter

В зависимости от того, что вы пытаетесь сделать, вот одно решение для действительного json:

{
  "ParentGroup":
  {
    "group_id": "",
    "group_name": "Group A",
    "schedule":
    [
        {
            "start":"9",
            "end":"10"
        },
        {
            "start":"12",
            "end":"13"
        }
    ]
  }
}
4 голосов
/ 20 февраля 2012

Ваше свойство расписания является объектом и, следовательно, ожидает идентификаторы свойств далее.Я думаю, что вы имеете в виду что-то вроде этого:

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

В общем случае [ ] обозначает массив и как таковой не требует идентификаторов свойств, тогда как { } обозначает объект, в котором каждое свойство нуждается вID.

1 голос
/ 20 февраля 2012

я считаю, что это должно быть как

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

    }
}

потому что расписание - это массив объектов, а не объект массивов

1 голос
/ 20 февраля 2012

Вы заполняете массив парами имя: значение, которые должны быть в объекте (в скобках).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...