Перейти к содержанию

JS объект в JSON

Конвертируйте литерал объекта JavaScript в корректный JSON.

Входные данные
Выходные данные

JS объект в JSON

Вставьте литерал объекта JavaScript, и этот инструмент преобразует его в строгий JSON, который можно использовать в ответе API, файле конфигурации или тестовом наборе данных. Он поддерживает синтаксис реального кода JavaScript: ключи без кавычек, строки в одинарных кавычках, запятые в конце, однострочные и многострочные комментарии, обычные шаблонные строки без выражений ${…} — ничего из этого в чистом JSON недопустимо.

Опция отступа форматирует результат с использованием 2 пробелов, 4 пробелов, табуляции или одной минифицированной строки. Значения undefined не имеют эквивалента в JSON, поэтому опция undefined позволяет либо полностью пропустить эти ключи, либо преобразовать их в null. Отключение опции "Удалить комментарии" превращает посторонние комментарии в ошибку вместо их безмолвного удаления, что полезно для подтверждения чистоты входных данных. Сортировка ключей расставляет свойства объекта в алфавитном порядке на каждом уровне вложенности, что облегчает сравнение двух JSON-объектов. Переключение направления на JSON → JS объект обратно преобразует JSON в литерал JavaScript с удаленными кавычками с любого ключа, который является корректным идентификатором — удобно при вставке конфигурации прямо в исходный код.

Неправильный ввод — пропущенная двоеточие, незавершенная строка, выражение в шаблоне — отображается с указанием строки и столбца, где прекратился анализ, чтобы вы могли найти проблему вместо того, чтобы гадать. Выход ограничен 10 МБ, чтобы сохранить вкладку быстродействующей; для очень больших объектов сначала следует разделить их на части.

Всё работает локально в вашем браузере — ничего из вставленного вами не загружается никуда. После завершения скопируйте результат, загрузите его как .txt файл или отправьте прямо на вход другого инструмента для продолжения работы.

FAQ

Какой синтаксис JavaScript он понимает?
Объекты и массивы с ключами в кавычках или без, однострочные и двойные кавычки, обычные шаблонные строки, числа (включая отрицательные, десятичные и с подчеркиваниями), true/false/null/undefined, запятые в конце, комментарии // и /* */.
Что происходит со значениями undefined?
По умолчанию ключ с значением undefined полностью опускается из JSON, так как JSON не имеет undefined. Переключите "Значения undefined" на "Конвертировать в null", если вам нужно оставить ключ presente.
Может ли он преобразовать JSON обратно в литерал объекта JavaScript?
Да — переключите направление на "JSON → JS объект". Ключи, которые являются корректными идентификаторами JavaScript, выводятся без кавычек; остальные остаются в одинарных кавычках.
Вычисляет ли он объект как код?
Нет. Ваш ввод анализируется как текст специализированным парсером — он никогда не выполняется, поэтому функции, переменные и шаблонные выражения типа ${…} не поддерживаются и отображаются как ошибки, а не выполняются.
Загружается ли мои данные где-то?
Нет. Преобразование выполняется полностью в вашем браузере — ваш объект никогда не покидает ваше устройство.