Перейти к содержимому
ToolMug

JSON форматтер и валидатор

Вставьте JSON, чтобы красиво его отформатировать, минифицировать или точно найти место ошибки — со строкой, столбцом и понятным объяснением причины. Большие числа, например 64-битные ID, сохраняются в точности как записаны, а данные остаются в вашем браузере.

Работает в браузере — введённые данные никуда не загружаются

Настройки

Ввод

Результат

Как пользоваться

  1. Вставьте или введите JSON в левое поле. Он проверяется по мере ввода.
  2. Выберите отступ — 2 пробела, 4 пробела, табуляция или «Минифицировать» для записи в одну строку.
  3. Отметьте «Сортировать ключи», чтобы упорядочить ключи объектов по алфавиту, — так два документа проще сравнивать.
  4. Если есть ошибка, в сообщении будут указаны строка и столбец; иначе скопируйте или скачайте результат.

Описание параметров

Отступ
2 пробела — самый распространённый стиль (npm, Prettier); 4 пробела соответствуют json.dumps(indent=4) в Python; «Минифицировать» удаляет все пробелы ради минимального размера.
Сортировать ключи
Сортирует ключи объектов по их декодированному значению на всех уровнях вложенности. Порядок элементов в массивах никогда не меняется.
Большие числа
Числа сохраняются так, как записаны. Многие форматтеры разбирают JSON в числа JavaScript, из-за чего 12345678901234567890 незаметно превращается в 12345678901234567000.

Частые ошибки JSON и как их исправить

Сообщение Типичная причина
Неожиданный символ «’» Одинарные кавычки вместо двойных
Завершающая запятая Запятая после последнего элемента: [1, 2,]
Неожиданный символ «/» Комментарий //, скопированный из JavaScript
Документ обрывается раньше времени Не хватает } или ] — часто из-за неполного копирования
Управляющие символы нужно экранировать Настоящая табуляция или перенос строки внутри строки — используйте \t или \n
Лишнее содержимое после конца документа Два JSON-документа, вставленные подряд, или текст после закрывающей скобки

Пример

Входные данные:

{"id":9007199254740993,"name":"Ada","tags":["math","code"]}

После форматирования с отступом в 2 пробела — обратите внимание, что ID не изменился:

{
  "id": 9007199254740993,
  "name": "Ada",
  "tags": [
    "math",
    "code"
  ]
}

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

Почему появляется ошибка «завершающая запятая в JSON не допускается»?

Стандартный JSON (RFC 8259) запрещает запятую после последнего элемента объекта или массива, хотя JavaScript её допускает. Удалите запятую перед закрывающей } или ].

Можно ли использовать в JSON одинарные кавычки или комментарии?

Нет. Строки JSON должны быть в двойных кавычках, а комментарии не входят в формат. Файлы вроде tsconfig.json их допускают, потому что их инструменты используют нестрогий парсер (JSONC).

Отправляется ли мой JSON на сервер?

Нет. Разбор и форматирование выполняются в вашем браузере, поэтому ответы API, токены и файлы конфигурации остаются на вашем устройстве.

Почему другие инструменты меняют мои большие ID?

JavaScript хранит числа в 64-битном формате с плавающей точкой, который точен только до 9 007 199 254 740 991. Этот инструмент никогда не преобразует числа, поэтому ID больше этого значения остаются нетронутыми.

Файлы какого размера он обрабатывает?

Документы размером в несколько мегабайт форматируются на ноутбуке мгновенно. Для файлов в сотни мегабайт лучше подойдёт консольная утилита, например jq.

Конфиденциальность

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

Похожие инструменты