VELDAT

Исправить ошибки в JSON

Текст обрабатывается в браузере и не отправляется на сервер.

Превращает объект из кода JavaScript или Python в настоящий JSON: убирает комментарии и висячие запятые, ставит двойные кавычки, меняет True, False и None на true, false и null. То, что не исправить автоматически, показано с номером строки.

Данные

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

Схема появится, когда в поле будут данные

Дальше обычно делают

Зачем исправлять JSON и откуда берутся ошибки

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

Такой текст обычно появляется, когда разработчик прислал пример объекта из кода на JavaScript или Python, когда настройки скопированы из статьи или чата или когда JSON правили вручную в блокноте. Исправление делает из него настоящий JSON, не меняя самих данных: те же поля, значения и порядок. Дальше результат можно вставить туда, куда он предназначался, или посмотреть деревом, чтобы убедиться, что все поля на месте и вложены как надо.

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

  1. Вставьте в поле объект из кода JavaScript или Python, ответ API или конфигурацию с ошибками.

  2. Нажмите «Исправить ошибки». Сообщение покажет, что исправлено и сколько раз.

  3. Если ошибка осталась, строка под полем покажет её место: «Перейти» поставит туда курсор. Готовый JSON можно скопировать, скачать или сразу перевести справа в YAML, XML или CSV.

Пример

Было
{
  // заказ из кода
  name: 'Бумага А4',
  qty: 10,
  inStock: True,
  note: None,
}
Стало
{
  "name": "Бумага А4",
  "qty": 10,
  "inStock": true,
  "note": null
}

Вопросы и ответы

Что исправляется автоматически?

Комментарии // и /* */, висячие запятые перед } и ], строки и ключи в одинарных кавычках, ключи без кавычек, True, False и None из Python, а также NaN, Infinity и undefined — они становятся null. Остальной текст, отступы и порядок ключей не меняются.

Почему браузер пишет «Unexpected token», а здесь ошибка понятна?

JSON.parse сообщает только символ, на котором остановился разбор. Здесь JSON разбирается своим модулем: ошибка написана на русском, с номером строки и столбца и с подсказкой, например «Ключ должен быть в двойных кавычках» или «После значения нужна запятая». У незакрытой скобки показано, в какой строке она открыта.

Что не исправить автоматически?

Пропущенную запятую между значениями, лишнюю или потерянную скобку и обрезанный в конце текст: здесь нельзя угадать, что имелось в виду. Строка под полем покажет место, а остальные ошибки откроются по «и ещё».

Можно ли отменить исправление?

Да, Ctrl+Z в поле вернёт текст, как до исправления, — одним шагом.

Задача сложнее инструмента

Архитектуру и интеграции с API можно обсудить на консультации: выберите время, и вы получите письменный итог с конкретными шагами.

Записаться на консультацию