Как пользоваться
- Вставьте JSON5, JSONC или JSON в редактор ввода.
- В поле «Результат» выберите «JSON5» или «JSON».
- В поле «Стиль» выберите «С отступами» или «Сжатый».
- Для стиля «С отступами» задайте «Отступ»: «2 пробела», «4 пробела» или «Табуляция».
Примеры
Настройки VS Code с комментариями
{
// Настройки рабочего проекта
"editor.tabSize": 4,
"files.autoSave": "onFocusChange",
"files.exclude": {"**/node_modules": true,},
}{
// Настройки рабочего проекта
"editor.tabSize": 4,
"files.autoSave": "onFocusChange",
"files.exclude": {
"**/node_modules": true,
},
}Конфигурация сервиса в строгий JSON
{
name: 'Каталог товаров',
endpoint: 'https://api.example.ru/catalog',
retryLimit: 0x03,
threshold: .5,
timeout: Infinity,
}{
"name": "Каталог товаров",
"endpoint": "https://api.example.ru/catalog",
"retryLimit": 3,
"threshold": 0.5,
"timeout": null
}Сжать конфигурацию витрины в одну строку
{
// Параметры витрины
title: 'Магазин «Берёзка»',
currency: 'RUB',
cities: ['Москва', 'Казань',],
}{title:"Магазин «Берёзка»",currency:"RUB",cities:["Москва","Казань"]}Что допускает JSON5
| Возможность | Пример JSON5 | Строгий JSON |
|---|---|---|
| Комментарии | // line, /* block */ | Не допускается |
| Запятые в конце | [1, 2,] | [1, 2] |
| Ключи без кавычек | {name: 1} | {"name": 1} |
| Строки в одинарных кавычках | 'it\'s' | "it's" |
| Многострочные строки | 'line \↵next' | "line next" |
| Шестнадцатеричные числа | 0xFF | 255 |
| Точка в начале/конце, знак плюс | .5, 5., +1 | 0.5, 5, 1 |
| Infinity и NaN | Infinity, -Infinity, NaN | Нет аналога (null или строка) |
Частые вопросы
Как найти ошибку в JSON5?
При некорректном вводе результат остаётся пустым, а список ошибок показывает строку, столбец и фрагмент кода. Нажмите на позицию ошибки, чтобы перейти к ней в редакторе. Инструмент не исправляет ошибки автоматически.
Можно ли использовать в JSON5 значения undefined и None?
undefined, None, True и False не входят в JSON5 и вызывают ошибку. Используйте null, true и false; числа с ведущим нулём, например 01, тоже недопустимы.
Что происходит с повторяющимися ключами?
Оба ключа сохраняются в результате. В примечании указаны позиции повторного и первого вхождения.
Округляются ли большие числа при форматировании?
Большие числа сохраняются точно. Для целых чисел больше 9007199254740991 и десятичных чисел с более чем 17 значащими цифрами в примечаниях появляется пометка: JavaScript JSON.parse округлил бы такое значение.
Отправляется ли содержимое JSON-файла на сервер?
Проверка и форматирование выполняются в браузере; код инструмента не отправляет введённые данные по сети. Ввод не сохраняется, а localStorage хранит настройки инструмента.