Skip to content
DocsAll
教程

Руководство по форматированию JSON: проверка, сжатие и красивый вывод

Timi Tian · Опубликовано 30 июня 2026 · Обновлено 12 июля 2026
JSONФорматированиеФормат данных

Что такое JSON

JSON (JavaScript Object Notation) — лёгкий формат обмена данными. Обмен между фронтендом и бэкендом, файлы конфигурации и ответы API используют JSON. Чёткая структура, читаемость человеком и машиночитаемость делают его де-факто стандартом современной разработки.

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

Типы данных

  • Строка: в двойных кавычках, например "hello"
  • Число: целое или с плавающей точкой, например 42, 3.14
  • Логическое: true или false
  • Null: null
  • Массив: в квадратных скобках, например [1, 2, 3]
  • Объект: в фигурных скобках, пары ключ-значение, например {"name": "Tom"}
  • Вложенность: объекты и массивы могут вкладываться друг в друга

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

  • Ключи должны быть в двойных кавычках (не в одинарных)
  • Строки должны быть в двойных кавычках
  • Не должно быть завершающей запятой (после последнего элемента запятая недопустима)
  • Не должно быть комментариев
  • Верхний уровень может быть только объектом или массивом

Три задачи форматирования

Проверка

Проверяет, корректен ли синтаксис JSON. Отсутствующая запятая, лишняя запятая или незакрытые кавычки приводят к ошибке разбора.

Красивый вывод (Pretty Print)

Разворачивает сжатый в одну строку JSON в многострочный формат с отступами, удобный для чтения.

Сжатый вид:

{"name":"Tom","age":20,"tags":["a","b"]}

Красивый вывод:

{
  "name": "Tom",
  "age": 20,
  "tags": ["a", "b"]
}

Сжатие (Minify)

Удаляет все пробелы и переносы строк из красивого формата, сжимая в одну строку для уменьшения размера. Используется при передаче и хранении.

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

Ошибки с кавычками

  • Использованы одинарные кавычки: JSON допускает только двойные
  • Забыли закрыть кавычки
  • Имя ключа без кавычек

Неправильно: {'name': 'Tom'} (одинарные кавычки) Правильно: {"name": "Tom"}

Ошибки с запятыми

  • Завершающая запятая: запятая после последнего элемента
  • Пропущенная запятая: забыли запятую между элементами

Неправильно: {"a": 1, "b": 2,} (завершающая запятая) Правильно: {"a": 1, "b": 2}

Ошибки типов данных

  • Использован undefined (в JSON нет undefined, используйте null)
  • Использованы NaN / Infinity (JSON не поддерживает)
  • Функции и объекты Date нельзя сериализовать напрямую

Ошибки экранирования

Специальные символы в строках требуют экранирования:

  • Кавычка: "
  • Обратная косая черта: \
  • Перенос строки: \n
  • Табуляция: \t
  • Возврат каретки: \r

Неправильно: "He said "hello"" (кавычки не экранированы) Правильно: "He said "hello""

Ошибки кодировки

JSON должен использовать кодировку UTF-8. Иные кодировки могут привести к нечитаемым символам или ошибке разбора.

Вложенность и уровни

Пример вложенности

{
  "user": {
    "name": "Tom",
    "address": {
      "city": "Москва",
      "zip": "101000"
    }
  },
  "orders": [
    {"id": 1, "items": ["A", "B"]},
    {"id": 2, "items": ["C"]}
  ]
}

Отступы

  • Отступ в 2 пробела: самый частый
  • Отступ в 4 пробела: более просторный
  • Отступ табуляцией: используют некоторые команды

При красивом выводе унифицируйте стиль отступов.

Глубокая вложенность

Более 5 уровней вложенности затрудняют чтение. Подумайте об уплощении структуры или её разделении.

JSON и другие форматы

JSON vs JSONL

  • JSON: один JSON на весь файл (обычно объект или массив)
  • JSONL (JSON Lines): по одному независимому JSON на строку, подходит для логов и потоковых данных

JSON vs JSON5

JSON5 — надмножество JSON, поддерживает:

  • Одинарные кавычки
  • Завершающие запятые
  • Комментарии
  • Шестнадцатеричные числа

Но JSON5 не является стандартным JSON, совместимость парсеров ограничена.

JSON vs YAML

  • JSON: строгий синтаксис, дружелюбен к машинам
  • YAML: гибкий синтаксис (поддерживает комментарии, отступы обозначают иерархию), дружелюбен к людям
  • Файлы конфигурации часто используют YAML; передача в API — JSON

JSON vs XML

  • JSON: лёгкий, без накладных расходов на теги
  • XML: многословные теги, но поддерживает атрибуты и пространства имён
  • В современной разработке JSON практически вытеснил XML

Практические советы

Копирование JSON

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

Отладка JSON

Если интерфейс возвращает ошибку, отформатируйте JSON ответа и проверьте корректность полей.

Файлы конфигурации

Пишите файлы конфигурации в JSON, а после форматирования комментируйте значение каждого поля (учтите, что стандартный JSON не поддерживает комментарии; используйте JSONC или отдельную документацию).

Преобразование данных

В сценариях вроде CSV в JSON, XML в JSON и т. п. после преобразования отформатируйте и проверьте результат.

Используйте инструмент CSV в JSON, чтобы преобразовать табличные данные в JSON одним щелчком.

Использование инструмента форматирования

Проверка

Вставьте JSON; инструмент проверит синтаксис. При ошибке он укажет позицию и причину.

Красивый вывод

Вставьте сжатый JSON, выберите отступ, нажмите «красивый вывод» и получите многострочный формат.

Сжатие

Вставьте красивый JSON, нажмите «сжать» и получите одну строку.

Экранирование

Экранирует специальные символы в строках JSON или выполняет обратное преобразование.

Обработка JSON с помощью DocsAll

JSON связан с кодированием и преобразованием; используйте соответствующие инструменты:

Обработка в браузере, данные не отправляются на сервер.

Часто задаваемые вопросы

После форматирования не-ASCII символы превращаются в \uXXXX

Некоторые инструменты по умолчанию экранируют не-ASCII символы. Чтобы отображать оригинальные символы, отключите опцию Unicode-экранирования.

Большой JSON тормозит

Очень большой JSON (несколько МБ) может зависать при форматировании. Используйте консольные инструменты (например, jq) — это эффективнее.

А как быть с комментариями?

Стандартный JSON не поддерживает комментарии. Если нужны комментарии, используйте JSONC, JSON5 или YAML.

Итоги

Форматирование JSON сводится к трём главным вещам: проверка синтаксиса, красивый вывод для чтения и сжатие для передачи. Самые частые ошибки — с кавычками, запятыми и экранированием. Для обработки JSON используйте инструмент кодирования/декодирования DocsAll и инструмент CSV в JSON — они работают в браузере, данные не уходят наружу.

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。