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
- Выбор любого разделителя ключей — по умолчанию точка (.)
- Точечные индексы (arr.0) или скобочные индексы (arr[0]) для массивов
- Обратное преобразование без потерь: сплющивание и разворачивание возвращают идентичный JSON
- Обработка примитивов, null, а также пустых объектов и массивов как листовых значений
- Живой просмотр в двух панелях с показом ошибок разбора прямо по мере ввода
- Копирование результата или его скачивание как flat.json или nested.json
Как использовать JSON Flatten
- Выберите режим сплющивания или разворачивания переключателем.
- Вставьте ваш JSON в поле ввода слева.
- Задайте разделитель и, для сплющивания, стиль ключей массива, если хотите отойти от значений по умолчанию.
- Прочитайте преобразованный JSON справа, затем скопируйте или скачайте его.
Пример
Ввод
{
"user": { "name": "Ada", "roles": ["admin", "dev"] },
"active": true
}
Результат
{
"user.name": "Ada",
"user.roles.0": "admin",
"user.roles.1": "dev",
"active": true
}
Вложенные объекты и элементы массива становятся ключами с точечной нотацией, оканчивающимися на их индекс.
Частые ошибки и устранение неполадок
- Разворачивание сообщает, что ожидает плоский объект JSON из пар путь/значение. — Разворачиванию нужен одноуровневый объект вроде {"a.b":1}; переключитесь на сплющивание, если вы начинаете с вложенного JSON.
- Разворачивание выдаёт объект с ключами «0», «1» там, где вы ожидали массив. — Индексы массива должны быть простыми целочисленными сегментами. Если ваш разделитель отличается от ключей, задайте тот же разделитель, чтобы 0 и 1 читались как индексы.
- При сплющивании теряются значения, когда два ключа сталкиваются, например из-за буквальной точки внутри имени ключа. — Выберите разделитель, который не встречается внутри ваших ключей (например / или __), чтобы каждый путь оставался однозначным.
- Ввод показывает ошибку разбора JSON, и вывод не появляется. — Исправьте подсвеченный синтаксис — JSON требует ключи и строки в двойных кавычках и отсутствие замыкающих запятых. Попробуйте «Загрузить пример» как корректную отправную точку.
Часто задаваемые вопросы
- Как сплющиваются массивы?
- Каждый элемент массива становится собственным ключом, оканчивающимся на индекс элемента, так что arr[10, 20] сплющивается в {"arr.0":10,"arr.1":20}. Вы можете переключиться на скобочный стиль, чтобы получить arr[0] и arr[1], а разворачивание читает любую форму обратно в настоящий массив.
- Можно ли изменить разделитель ключей?
- Да. По умолчанию разделитель — точка, но вы можете задать любой символ или короткую строку — например / или __. Используйте тот же разделитель при разворачивании, чтобы пути корректно разбивались обратно.
- Происходит ли сплющивание и затем разворачивание без потерь?
- Для корректного JSON обратное преобразование возвращает идентичные данные: объекты, массивы, строки, числа, булевы значения, null и пустые контейнеры — всё сохраняется. Единственное, чего стоит избегать, — это разделитель, который также встречается буквально внутри имени ключа.
- В чём разница между точечными и скобочными ключами массива?
- Это исключительно способ записи индексов: точечный стиль даёт arr.0, а скобочный — arr[0]. Оба описывают одну и ту же позицию в массиве, и шаг разворачивания понимает любую нотацию, поэтому выбирайте ту, которую ожидают ваши другие инструменты.
- Зачем мне сплющивать JSON?
- Плоские карты путь/значение легче сравнивать построчно, хранить в файлах окружения или конфигурации, выстраивать в столбцы таблицы и привязывать к полям формы, которые ключуются по пути. Разворачивание позволяет вернуть эту плоскую форму обратно во вложенный JSON, когда это нужно.
- Загружается ли мой JSON куда-либо?
- Нет. Сплющивание и разворачивание работают полностью в вашем браузере, поэтому вставленный JSON обрабатывается локально на вашем устройстве и никогда не отправляется на сервер.
Связанные инструменты
- Форматировщик JSON — Форматируйте, минимизируйте и проверяйте JSON с указанием места ошибок.
- Просмотрщик JSON — Текстовый и древовидный просмотр со сворачиванием/разворачиванием и путями узлов.
- JSON в CSV — Преобразуйте массив плоских объектов JSON в CSV.
- Экранирование JSON — Экранируйте текст в строку JSON или разэкранируйте строку JSON в обычный текст.
- JSON Diff — Сравнение двух документов JSON со структурным различием.
- YAML ↔ JSON — Преобразуйте YAML в JSON и обратно.
Все инструменты ArrayKit