JSON Flatten / Unflatten

Сплющивайте вложенный JSON в ключи с точечной нотацией или разворачивайте обратно — мгновенно в браузере. Ваши данные остаются на устройстве.

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

Сначала нужно красиво вывести? Попробуйте форматировщик JSON.

Об инструменте JSON Flatten

Этот инструмент JSON flatten сворачивает вложенный объект JSON в одноуровневую карту, ключи которой — это пути в точечной нотации, так что {"a":{"b":1},"arr":[10,20]} становится {"a.b":1,"arr.0":10,"arr.1":20}. Переключитесь на разворачивание, и инструмент восстановит исходную вложенную структуру из этих плоских путей. Плоские пары ключ/значение легко сравнивать, хранить в файлах .env или конфигурации, сопоставлять со столбцами таблицы или передавать в библиотеки форм, которые ключуют по пути. Вы можете сменить разделитель с точки по умолчанию на любой удобный и выбрать, читаются ли индексы массива как arr.0 или в скобочном стиле arr[0]. Ключи объектов, массивы, примитивы, null и пустые контейнеры — всё обрабатывается, а обратное преобразование происходит без потерь. Всё работает полностью в вашем браузере, поэтому вставленный JSON обрабатывается локально и никогда не покидает устройство.

Возможности

Как использовать JSON Flatten

  1. Выберите режим сплющивания или разворачивания переключателем.
  2. Вставьте ваш JSON в поле ввода слева.
  3. Задайте разделитель и, для сплющивания, стиль ключей массива, если хотите отойти от значений по умолчанию.
  4. Прочитайте преобразованный JSON справа, затем скопируйте или скачайте его.

Пример

Ввод

{
  "user": { "name": "Ada", "roles": ["admin", "dev"] },
  "active": true
}

Результат

{
  "user.name": "Ada",
  "user.roles.0": "admin",
  "user.roles.1": "dev",
  "active": true
}

Вложенные объекты и элементы массива становятся ключами с точечной нотацией, оканчивающимися на их индекс.

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Как сплющиваются массивы?
Каждый элемент массива становится собственным ключом, оканчивающимся на индекс элемента, так что arr[10, 20] сплющивается в {"arr.0":10,"arr.1":20}. Вы можете переключиться на скобочный стиль, чтобы получить arr[0] и arr[1], а разворачивание читает любую форму обратно в настоящий массив.
Можно ли изменить разделитель ключей?
Да. По умолчанию разделитель — точка, но вы можете задать любой символ или короткую строку — например / или __. Используйте тот же разделитель при разворачивании, чтобы пути корректно разбивались обратно.
Происходит ли сплющивание и затем разворачивание без потерь?
Для корректного JSON обратное преобразование возвращает идентичные данные: объекты, массивы, строки, числа, булевы значения, null и пустые контейнеры — всё сохраняется. Единственное, чего стоит избегать, — это разделитель, который также встречается буквально внутри имени ключа.
В чём разница между точечными и скобочными ключами массива?
Это исключительно способ записи индексов: точечный стиль даёт arr.0, а скобочный — arr[0]. Оба описывают одну и ту же позицию в массиве, и шаг разворачивания понимает любую нотацию, поэтому выбирайте ту, которую ожидают ваши другие инструменты.
Зачем мне сплющивать JSON?
Плоские карты путь/значение легче сравнивать построчно, хранить в файлах окружения или конфигурации, выстраивать в столбцы таблицы и привязывать к полям формы, которые ключуются по пути. Разворачивание позволяет вернуть эту плоскую форму обратно во вложенный JSON, когда это нужно.
Загружается ли мой JSON куда-либо?
Нет. Сплющивание и разворачивание работают полностью в вашем браузере, поэтому вставленный JSON обрабатывается локально на вашем устройстве и никогда не отправляется на сервер.

Связанные инструменты

Все инструменты ArrayKit