JSON Flatten / Unflatten
Развернуть вложенный JSON в плоский объект с dot-нотацией и обратно.
Как это работает
Вложенный JSON с объектами внутри объектов внутри массивов удобно читать глазами, но неудобно засовывать в плоскую таблицу Excel или в систему аналитики, которая понимает только плоские ключи вроде user точка address точка city. Json flatten online превращает любую глубину вложенности в плоский объект с dot нотацией, а unflatten делает обратное превращение.
После flatten каждый вложенный ключ становится одним полем верхнего уровня, где путь к значению записан через точку, например адрес точка город становится ключом address.city со значением строкой. Это ровно тот формат, который любят системы вроде Google Sheets, BigQuery или простые CSV экспорты.
Unflatten работает наоборот, берет плоские ключи с точками и восстанавливает исходную вложенную структуру объектов. Полезно, когда данные пришли из плоской таблицы, а нужно превратить их обратно в нормальный вложенный JSON для API или конфига приложения.
Частые вопросы
Что происходит с массивами при flatten json объекта?
Массивы в текущей реализации не разворачиваются по индексам, а остаются как есть внутри соответствующего плоского ключа, разворачиваются только вложенные объекты через точку.
Можно ли потом снова собрать исходный json после flatten?
Да, кнопка unflatten восстанавливает вложенную структуру обратно, если ключи с точками не были повреждены между операциями.
Зачем вообще может понадобиться плоский json с точками в ключах?
Чаще всего для экспорта в таблицы, аналитические системы или базы данных, которые не поддерживают вложенные структуры и ожидают простой набор колонок.
Что если в исходном json ключ уже содержит точку в своем названии?
Это создаст неоднозначность при обратном unflatten, потому что точка в имени ключа будет воспринята как разделитель уровня вложенности, лучше избегать точек в названиях полей исходного json.