Форматирование JSON и проверка синтаксиса

Проверяйте JSON (и при необходимости JSONP) и находите синтаксические ошибки.
Обрабатывать как JSONP при обнаружении JSONP
Безопасно
Обработка выполняется на вашем устройстве, поэтому введённые данные и результат никуда не отправляются.

Правила синтаксиса JSON

Основные правила

  • Заключите документ в фигурные скобки { }.
  • Каждая запись — это пара ключ/значение, разделённая знаком :.
  • Разделяйте пары запятыми, но не ставьте запятую после последней пары.
  • Ключи должны быть заключены в двойные кавычки.
  • Значения могут иметь разные типы; строки нужно заключать в двойные кавычки.
{
    "id": 123,
    "name": "Taro Yamada",
    "registered": true,
    "nickname": null,
    "skills": [
        "html",
        "JavaScript"
    ],
    "contact": {
        "phone": "0X0-123-456",
        "email": "taro@xxxxx.jp"
    }
}

Допустимые типы значений

ТипExampleПримечания
Строка"name": "Taro Yamada"Нужно заключать в двойные кавычки; одинарные кавычки недопустимы.
Число"id": 123Значения NaN и Infinity недопустимы.
Логический тип"registered": trueДопустимы только true и false в нижнем регистре.
null"nickname": nullДопустимо только null в нижнем регистре.
Массив"skills": ["html", "JavaScript"]Элементами массива могут быть строки, числа, логические значения, null, массивы или объекты.
Объект"contact": { "phone": "0X0-123-456", "email": "taro@xxxxx.jp" }Объекты можно вкладывать друг в друга.

Примечание: в JSON нет типа undefined.

Примеры

Массив

Внутри [ ] можно указывать элементы разных типов.

["text", 123, true, false, null]

В качестве элементов также можно использовать объекты.

[
    {
        "id": 1001,
        "name": "Steve Jobs"
    },
    {
        "id": 1002,
        "name": "Bill Gates"
    }
]

Объект

Внутри { } значения могут иметь любой допустимый тип.

{
    "id": 123,
    "name": "Taro Yamada",
    "registered": true,
    "nickname": null
}

Объекты можно вкладывать друг в друга.

{
    "id": 123,
    "name": "Taro Yamada",
    "contact": {
        "phone": "0X0-123-456",
        "email": "taro@xxxxx.jp"
    }
}

В объекты также можно помещать массивы.

{
    "id": 123,
    "name": "Taro Yamada",
    "skills": [
        "html",
        "JavaScript"
    ]
}

Частые ошибки

Нет кавычек вокруг ключа

Ключи должны быть заключены в двойные кавычки. Замените id во второй строке на "id".

1{
2    id: 123,
3    "name": Taro Yamada
4}

Нет кавычек вокруг строкового значения

Строковые значения должны быть заключены в двойные кавычки. Замените Taro Yamada в третьей строке на "Taro Yamada".

1{
2    "id": 123,
3    "name": Taro Yamada
4}

Неверные кавычки у строкового значения

Строковые значения нельзя заключать в одинарные кавычки. Замените 'Taro Yamada' в третьей строке на "Taro Yamada".

1{
2    "id": 123,
3    "name": 'Taro Yamada'
4}

Лишняя запятая в конце

После последней пары ключ/значение не должно быть запятой. Замените "Tokyo", в четвёртой строке на "Tokyo".

1{
2    "id": 123,
3    "name": "Taro Yamada",
4    "address": "Tokyo",
5}