Комментарии принимаются
Однострочные // и многострочные /* */ отбрасываются, остаются только данные. Важные пояснения храните в README: комментарии в стандартный JSON не попадут.
Подходит для шага «конфиг для людей» → «JSON для программы».
Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.
JSON5 — более свободное надмножество для конфигов: комментарии, завершающие запятые, одинарные кавычки и ключи без кавычек. Страница разбирает его и выдаёт стандартный JSON для API и других инструментов. Текст из VS Code, webpack-конфига или рукописного объекта JS часто нельзя сразу JSON.parse — сначала прогоните его здесь.
Однострочные // и многострочные /* */ отбрасываются, остаются только данные. Важные пояснения храните в README: комментарии в стандартный JSON не попадут.
Подходит для шага «конфиг для людей» → «JSON для программы».
Запятая после последнего элемента объекта или массива больше не ломает разбор. Это самая частая ошибка при копировании литерала объекта из JS / TS.
В выводе завершающей запятой нет — соответствует RFC 8259.
Результат можно сразу отдать JSON.parse и большинству бэкендов. К ключам добавятся двойные кавычки, строки в одинарных станут двойными.
Дальше можно форматировать, проверять или генерировать Schema.
{
// 功能开关
name: 'json5',
enabled: true,
tags: ['a', 'b',],
}
{
"name": "json5",
"enabled": true,
"tags": [
"a",
"b"
]
}
Нет. В стандартном JSON комментариев нет, после конвертации они отбрасываются.
JSONC обычно добавляет только комментарии; JSON5 ещё ослабляет ключи, кавычки и запись чисел. Здесь разбор по правилам JSON5.
JSON5 такую запись чисел допускает. Примет ли её стандартный JSON дальше, зависит от парсера — проверьте.
Нет. Разбираются только литералы данных, функции и выражения не выполняются.
JSON.parse . JSON5 удобен как «человек пишет, перед машиной нормализуем». Внешний API должен принимать только стандартный JSON, чтобы клиенты не изобретали свои надмножества.