Как работает конвертация JSON в CSV
Инструмент анализирует введённый массив объектов JSON полностью в вашем браузере с помощью JavaScript. Он определяет все уникальные ключи, встречающиеся в любом из объектов, и формирует из них заголовки столбцов в CSV. Это гарантирует, что даже если структура записей отличается, результат будет максимально полным.
Вложенные объекты преобразуются в плоский формат: их ключи объединяются через точку, например address.city. Это позволяет не потерять структуру данных при экспорте в таблицу.
Что происходит с массивами и различиями в структуре
Если внутри JSON встречаются массивы примитивов (например, список телефонов), они объединяются в одну ячейку через запятую или другой разделитель. Но если внутри объекта есть массив других объектов, такие вложенные структуры не разворачиваются и отображаются как строка или могут быть опущены в итоговом CSV.
Если разные объекты имеют разные наборы ключей, в результирующем CSV для отсутствующих значений остаются пустые ячейки. Это стандартное поведение для сохранения всех данных.
Ограничения и советы по использованию
Обработка происходит полностью на вашем устройстве, данные никуда не отправляются. Это быстро и безопасно для файлов до нескольких мегабайт, но огромные массивы могут вызвать зависание браузера из-за ограничений оперативной памяти.
Глубокая вложенность объектов приводит к длинным заголовкам столбцов, что затрудняет работу с итоговой таблицей — оптимально перед конвертацией минимизировать избыточную вложенность в исходном JSON. Для экспорта в Excel, Google Таблицы или BI-системы такой CSV подходит идеально.
Часто задаваемые вопросы
Как в CSV отображаются вложенные объекты из JSON?
Вложенные объекты преобразуются в отдельные колонки с помощью точечной нотации. Например, <code>{"user": {"name": "Иван"}}</code> даст столбец <code>user.name</code>.
Что если у разных объектов разные ключи?
CSV будет содержать все уникальные ключи в виде столбцов, а для отсутствующих у конкретного объекта значений в соответствующей ячейке окажется пусто.
Как обрабатываются массивы внутри объектов?
Массивы из простых значений превращаются в строку с разделителем внутри одной ячейки. Массивы объектов не разворачиваются и не отображаются подробно в CSV.
Можно ли изменить разделитель или формат вывода?
Сейчас разделитель установлен стандартно — запятая. Формат не настраивается, но результат можно отредактировать после скачивания в редакторе таблиц.
Справится ли инструмент с очень большим JSON?
Весь процесс идёт в браузере, поэтому для файлов свыше 50-100 МБ возможны задержки или ошибки из-за нехватки памяти. Рекомендуется разбивать крупные данные на части.
Что будет с не-UTF8 или бинарными данными?
JSON по стандарту поддерживает только текст в Unicode. Бинарные или некорректные строки могут привести к ошибке или отображаться некорректно.
Что-то не так или есть идея? Сообщить