UTILS.
100% у браузері
⊞}

JSON Flatten / Unflatten

Сплющуйте вкладений JSON у ключі з крапковою нотацією або відновлюйте вкладені обʼєкти з плоских ключів.

— результат з’явиться тут —

Про цей інструмент

JSON Flatten / Unflatten — це безкоштовний браузерний інструмент, який перетворює вкладений JSON на однорівневу мапу ключів у точковій нотації й відбудовує вкладену структуру назад з цих плоских ключів. Вставте JSON і виберіть напрямок: «Сплюснути» згортає кожен шлях в один плоский об'єкт (наприклад, user.name або user.roles.0), тоді як «Розгорнути» розширює точкові ключі назад у вкладені об'єкти й масиви.

Обидва напрямки розбирають ваш ввід власним парсером JSON браузера й виводять результат з відступом у два пробіли. Об'єкти й масиви обходяться рекурсивно, елементи масивів зберігають свій числовий індекс у шляху, а листові значення — рядки, числа, булеві значення, null і порожні об'єкти чи масиви — зберігаються незмінними. Недійсний JSON показує вбудовану помилку замість виводу, а кнопка копіювання поміщає результат у ваш буфер обміну.

Усе працює локально в JavaScript: без завантажень на сервер, без облікових записів, без відстеження, і воно працює офлайн. Сплющення зручне для перетворення конфігурації на плоскі пари ключ/значення, як-от змінні середовища чи файли повідомлень i18n, для порівняння глибоко вкладених навантажень або для перетворення відповідей API, а розгортання виконує зворотне відображення.

Поширені запитання

Як обробляються масиви?
Елементи масивів використовують свій числовий індекс у ключі, як-от items.0.name. Під час розгортання будь-який сегмент шляху, що складається лише з цифр, трактується як індекс масиву, тож ці частини відбудовуються як масиви.
Чи завантажуються мої дані на сервер?
Ні. Розбір і конвертація виконуються повністю в JavaScript вашого браузера, нічого не надсилається на сервер, і інструмент продовжує працювати офлайн.
Що відбувається з порожніми об'єктами й масивами?
Вони трактуються як листові значення й зберігаються як є за своїм ключем, тож порожній {} або [] переживає сплющення незмінним, а не розгортається в глибші ключі.
Чи завжди сплющення, а потім розгортання повертає вихідний JSON?
Майже завжди, але два випадки відрізняються: ключ, що вже містить крапку, розбивається на додаткову вкладеність під час розгортання, а ключ об'єкта, що складається лише з цифр, відбудовується як індекс масиву замість ключа об'єкта.

Більше інструментів