Разбор JSON5 онлайн

Локальная обработка
app.json5.view

Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.

JSON5 — более свободное надмножество для конфигов: комментарии, завершающие запятые, одинарные кавычки и ключи без кавычек. Страница разбирает его и выдаёт стандартный JSON для API и других инструментов. Текст из VS Code, webpack-конфига или рукописного объекта JS часто нельзя сразу JSON.parse — сначала прогоните его здесь.

Комментарии принимаются

Однострочные // и многострочные /* */ отбрасываются, остаются только данные. Важные пояснения храните в README: комментарии в стандартный JSON не попадут.

Подходит для шага «конфиг для людей» → «JSON для программы».

Завершающая запятая

Запятая после последнего элемента объекта или массива больше не ломает разбор. Это самая частая ошибка при копировании литерала объекта из JS / TS.

В выводе завершающей запятой нет — соответствует RFC 8259.

Вывод — по-прежнему стандартный JSON

Результат можно сразу отдать JSON.parse и большинству бэкендов. К ключам добавятся двойные кавычки, строки в одинарных станут двойными.

Дальше можно форматировать, проверять или генерировать Schema.

Пример

Ввод JSON5
{
  // 功能开关
  name: 'json5',
  enabled: true,
  tags: ['a', 'b',],
}
Стандартный JSON
{
  "name": "json5",
  "enabled": true,
  "tags": [
    "a",
    "b"
  ]
}
Сохранятся ли комментарии?

Нет. В стандартном JSON комментариев нет, после конвертации они отбрасываются.

Это то же, что JSONC?

JSONC обычно добавляет только комментарии; JSON5 ещё ослабляет ключи, кавычки и запись чисел. Здесь разбор по правилам JSON5.

Поддерживаются Infinity / NaN?

JSON5 такую запись чисел допускает. Примет ли её стандартный JSON дальше, зависит от парсера — проверьте.

Это полноценный исполнитель JS?

Нет. Разбираются только литералы данных, функции и выражения не выполняются.

Рекомендуемый процесс

  1. Скопируйте из конфига или кода фрагмент с комментариями и завершающими запятыми.
  2. Вставьте сюда и убедитесь, что справа стандартный JSON, который можно JSON.parse .
  3. Скопируйте результат в API, тестовый fixture или другую страницу инструментов.
  4. Если людям нужно править дальше и сохранить комментарии, лучше YAML, а не насильно JSON.

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