Конвертер JSON в CSV онлайн — массив JSON в таблицу
JSON-массив объектов в CSV (разворачивание вложенности, разделители, BOM для Excel)
Работает в браузере · файлы никуда не загружаются
Что это за инструмент
JSON-массивы в разработке повсюду, а с таблицами удобнее работать в CSV. Инструмент преобразует JSON вида [{...}, {...}] в CSV со строкой заголовков. Результат обновляется по мере редактирования, и его можно скачать файлом.
Как пользоваться
- Вставьте в поле ввода массив объектов. Одиночный объект дает таблицу из одной строки.
- Выберите разделитель: запятая, точка с запятой, табуляция или вертикальная черта. Excel с русскими региональными настройками обычно ожидает точку с запятой.
- Если файл будет открываться в Excel, оставьте UTF-8 BOM включенным и нажмите «Скачать CSV».
- Чтобы вставить результат в другую программу, используйте кнопку копирования.
Как это работает
-
Формат соответствует RFC 4180. Значение, содержащее разделитель, двойную кавычку или перевод строки, заключается в двойные кавычки, а кавычки внутри удваиваются. Строки заканчиваются на CRLF.
-
Первая строка — заголовок. Столбцы собираются по всем строкам в порядке первого появления каждого ключа.
-
Вложенные объекты разворачиваются через точку (
a.b.c). Массивы и пустые объекты записываются в одну ячейку как JSON-строка, например["a","b"]. Если в самом ключе есть точка, при обратном преобразовании ее уже не отличить. -
nullдает пустую ячейку, логические значения —trueилиfalse, числа записываются в нотации JavaScript. Целые числа больше 9007199254740991 округляются еще при чтении JSON, поэтому выводится предупреждение. -
Элементы массива, которые не являются объектами (числа, строки и т. п.), дают один столбец
value. -
Файлы сохраняются в UTF-8, BOM добавляется только в скачиваемый файл.
-
Ограничения обратного преобразования:
nullстановится пустой ячейкой, поэтому в CSV его не отличить от пустой строки. Типов в CSV тоже нет, так что при обратном преобразовании с конвертацией типов строки вроде"123"станут числом123. -
Инъекция формул в Excel: ячейка, начинающаяся с
=,+,-или@, при открытии в Excel может выполниться как формула. Для данных из ненадежных источников включите опцию, которая ставит ’ перед такими значениями: ячейка будет отображаться как текст (при открытии CSV апостроф останется виден в ячейке), а обычные отрицательные числа вроде-12.5останутся числами. По умолчанию опция выключена, и без вашего запроса значения не меняются.
Примеры
Ввод:
[{"name":"Иван","address":{"city":"Moscow"},"tags":["a","b"]},{"name":"Bob"}]
Результат:
name,address.city,tags
Иван,Moscow,"[""a"",""b""]"
Bob,,
Частые вопросы
Excel показывает кракозябры вместо кириллицы. Что делать?
CSV в UTF-8 без BOM Excel часто открывает в устаревшей кодировке, и кириллица, иероглифы и буквы с диакритикой превращаются в мусор. Оставьте включенной опцию добавления UTF-8 BOM и нажмите «Скачать CSV» — файл начнется с байтов EF BB BF, и Excel прочитает его как UTF-8. При копировании кнопкой BOM не добавляется.
Как вложенный JSON превращается в таблицу?
Объект внутри объекта становится столбцом с именем через точку, например address.city. Массив записывается в одну ячейку как JSON-строка. Если у строк разные ключи, столбцы объединяются в порядке первого появления, а отсутствующие ячейки остаются пустыми.
Можно ли превратить CSV обратно в JSON?
Да, в конвертере CSV в JSON с включенными преобразованием чисел и восстановлением вложенности вы получите результат, очень близкий к исходному. Но в CSV нет информации о типах, поэтому строка "123" и число 123 выглядят одинаково.
Мои данные куда-то отправляются?
Нет. Преобразование целиком выполняется в браузере, ничего не передается и не сохраняется.