Menu
Русский

Форматировщик JSON

Форматируйте, проверяйте и изучайте JSON с живым деревом.

Последнее обновление

Отступ
ВводВставьте JSON, чтобы начать
Вывод
Форматированный JSON появится здесь — переотступите, проверьте и скопируйте в один клик.

Что такое JSON-форматтер?

JSON-форматтер (он же beautifier или pretty-printer) превращает сжатый или нечитаемый JSON в аккуратные данные с отступами. Это один из самых востребованных инструментов разработчика — пригождается, когда смотришь ответы API, читаешь конфиги, разбираешь логи, сравниваешь тестовые фикстуры или гоняешь данные между фронтом и бэком.

JSON — формат строгий: ключи и строки только в двойных кавычках, запятые на своих местах, каждая открывающая { или [ обязана быть закрыта. Форматтер делает структуру наглядной, а встроенный валидатор точно показывает, где синтаксис сломался.

JSON расшифровывается как JavaScript Object Notation. Хотя формат вырос из JavaScript, читать и писать его умеет практически любой язык программирования — поэтому он де-факто стал стандартом обмена структурированными данными в вебе.

Что вы заодно поймёте про JSON

  • Объекты {} — это набор именованных полей, массивы [] — упорядоченный список значений. Их можно вкладывать друг в друга на любую глубину.
  • Красиво отформатированный и минифицированный JSON — это *одни и те же данные*. Пробелы влияют только на читаемость. Серверы обычно отдают минифицированную версию, чтобы экономить байты.
  • В JSON всего шесть типов значений: строка, число, булево, null, объект и массив. Никаких undefined, функций и комментариев.

Как отформатировать JSON по шагам

  1. Вставьте JSON в поле ввода

    Скопируйте JSON из ответа API, лога или конфига и вставьте слева. Форматтер принимает как минифицированный, так и частично оформленный ввод.

  2. Выберите ширину отступа

    Чаще всего используют 2 пробела, реже — 4. Берите тот вариант, который уже принят в вашем проекте.

  3. Посмотрите результат проверки

    Если JSON валидный, справа появится отформатированный вывод. Если нет — в сообщении об ошибке будет указана строка и позиция, где парсер споткнулся.

  4. Походите по дереву

    В сворачиваемом дереве удобно прятать глубоко вложенные объекты и массивы. Это самый быстрый способ понять, как устроен незнакомый ответ API.

  5. Скопируйте результат или минифицируйте

    Заберите красиво оформленный JSON в код или документацию — либо обратно сожмите в одну строку для хранения и передачи по сети.

Краткий справочник по синтаксису JSON

Полный набор кирпичиков JSON. Всё, чего нет в этом списке, валидным JSON не является. Спецификации: RFC 8259 и ECMA-404.

ТокенЧто означаетПример
{ }Объект — набор пар ключ/значение{"name": "Maya"}
[ ]Массив — упорядоченный список значений[1, 2, 3]
"..."Строка — всегда в двойных кавычках"hello"
ЧислоЦелое или с плавающей точкой, без кавычек и без ведущего +42, -3.14
true / falseБулевы значения, строго в нижнем регистреtrue
nullПустое или отсутствующее значениеnull
:Разделитель между ключом и его значением"id": 7
,Разделитель между элементами — в конце не ставится[1, 2, 3]

Примеры JSON, которые можно попробовать

Привести в порядок типичный ответ API

Вход
{"user":{"id":7,"name":"Maya"},"skills":["HTML","JavaScript"]}
После форматирования
{  "user": {    "id": 7,    "name": "Maya"  },  "skills": ["HTML", "JavaScript"]}

После форматирования вложенный объект user и массив skills становятся гораздо читабельнее. Данные те же — изменились только пробелы и переносы.

Поймать висящую запятую

Невалидно
{  "name": "Coddy",  "active": true,}

В JSON нельзя ставить запятую после последнего свойства. Валидатор подсветит закрывающую }. Это одна из самых частых ошибок, когда переносят синтаксис JS-объекта в JSON.

Сравнить типы значений

Вход
{  "count": 3,  "countText": "3",  "enabled": true}

3 — число, "3" — строка, true — булево. Три разных типа JSON. API часто ломаются именно потому, что структура правильная, а тип значения — нет.

Разобрать глубоко вложенный ответ

Вход
{  "data": {    "orders": [      { "id": 101, "items": [{ "sku": "A", "qty": 2 }] },      { "id": 102, "items": [] }    ]  }}

В дереве удобно свернуть data.orders и постепенно раскрывать структуру уровень за уровнем. Вложенные массивы объектов — самый распространённый шаблон в REST-ответах.

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

  • Одинарные кавычки вместо двойных — ни вокруг ключей, ни вокруг строк JSON их не допускает.
  • Относиться к JSON как к JS-объекту: комментарии, функции и undefined в JSON невалидны, висящие запятые тоже не пройдут парсер.
  • Забывать, что числа в JSON не могут начинаться с +, иметь ведущие нули (кроме самого 0) и не должны быть в кавычках, если вы реально хотите тип «число».

FAQ по JSON Formatter

Что такое JSON?
JSON (JavaScript Object Notation) — это лёгкий текстовый формат для структурированных данных. Он построен на парах ключ-значение и массивах, и его поддерживает практически любой язык программирования. Поэтому JSON стал стандартом для веб-API, конфигов и тел сообщений.
Как отформатировать JSON?
Вставьте JSON в форматтер, выберите ширину отступа (обычно 2 пробела), и инструмент перевыпустит те же данные с переносами строк и отступами. Большинство форматтеров заодно проверяют синтаксис.
Чем JSON-форматтер отличается от JSON-валидатора?
Форматтер приводит уже валидный JSON к более читаемому виду. Валидатор проверяет, корректен ли синтаксис в принципе. Хороший инструмент делает и то, и другое.
Меняет ли pretty-print сами данные?
Нет. Красивый вывод добавляет отступы и переносы, но ключи, массивы, строки, числа, булевы значения и null остаются ровно теми же. Если потом минифицировать обратно — получится исходная компактная форма для сети.
Почему мой JSON не парсится, хотя выглядит как JS-объект?
JSON строже синтаксиса JS-объектов. Ключи и строки должны быть в двойных кавычках, комментарии запрещены, висящие запятые, одинарные кавычки и undefined не допускаются.
Где разработчики сталкиваются с JSON каждый день?
Везде: ответы и тела запросов REST и GraphQL, конфиги (package.json, tsconfig.json), метаданные пакетов, строки логов, localStorage в браузере, тестовые фикстуры.

Узнать больше

Другие инструменты разработчика

Учитесь программировать с Coddy

НАЧАТЬ