Перейти до вмісту

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", якщо вам потрібно залишити ключ присутнім.
Чи може він перетворити JSON назад у літерал об'єкта JavaScript?
Так — перемкніть напрямок на "JSON → JS об'єкт". Ключі, які є коректними ідентифікаторами JavaScript, виводяться без лапок; інші залишаються в одинарних лапках.
Чи обчислює він об'єкт як код?
Ні. Ваш ввід аналізується як текст спеціалізованим парсером — він ніколи не виконується, тому функції, змінні та шаблонні вирази типу ${…} не підтримуються і відображаються як помилки, а не виконуються.
Чи завантажуються мої дані де-небудь?
Ні. Перетворення виконується повністю у вашому браузері — ваш об'єкт ніколи не покидає ваш пристрій.