Что такое JSON и почему он ломается?

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

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

Описание инструмента

Этот Восстановитель JSON автоматически исправляет сломанные или некорректные документы JSON. Он анализирует входные данные, определяет синтаксические ошибки и восстанавливает действительный JSON, сохраняя исходную структуру данных и значения. Инструмент обрабатывает распространённые проблемы, которые в противном случае потребовали бы утомительного ручного исправления.

Примеры

Отсутствующие кавычки вокруг ключей:

{name: "John", age: 30}

Восстановлено:

{ "name": "John", "age": 30 }

Запятые в конце:

{ "items": ["apple", "banana", "orange"] }

Восстановлено:

{ "items": ["apple", "banana", "orange"] }

Одинарные кавычки вместо двойных:

{'status': 'active', 'count': 5}

Восстановлено:

{ "status": "active", "count": 5 }

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

{"message": Hello World}

Восстановлено:

{ "message": "Hello World" }

Отсутствующие закрывающие скобки:

{"data": [1, 2, 3}

Восстановлено:

{ "data": [1, 2, 3] }

Функции

  • Автоматически добавляет отсутствующие кавычки вокруг ключей и строковых значений
  • Удаляет запятые в конце массивов и объектов
  • Преобразует одинарные кавычки в двойные
  • Исправляет несовпадающие или отсутствующие скобки и фигурные скобки
  • Опциональное форматирование с красивым выводом или минифицированным выводом

Как это работает

Алгоритм восстановления анализирует входные данные символ за символом, строя действительную структуру JSON. Когда он встречает недействительный синтаксис, он применяет правила коррекции на основе распространённых ошибок JSON. Отсутствующие кавычки выводятся из контекста, несовпадающие скобки закрываются в соответствующих позициях, и недействительные символы обрабатываются или экранируются. Результат — синтаксически корректный JSON, который может быть проанализирован любым парсером JSON.

Случаи использования

  • Отладка ответов API: Исправьте некорректный JSON, возвращённый из API или веб-сервисов перед обработкой
  • Очистка данных логов: Восстановите фрагменты JSON, извлечённые из логов приложений или вывода консоли
  • Исправление файлов конфигурации: Исправьте ручное редактирование конфигов JSON, которые накопили синтаксические ошибки

Ограничения

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