Блог
Русский

Конвертер JSON в CSV онлайн — массив JSON в таблицу

JSON-массив объектов в CSV (разворачивание вложенности, разделители, BOM для Excel)

Работает в браузере · файлы никуда не загружаются

Результат CSV

Что это за инструмент

JSON-массивы в разработке повсюду, а с таблицами удобнее работать в CSV. Инструмент преобразует JSON вида [{...}, {...}] в CSV со строкой заголовков. Результат обновляется по мере редактирования, и его можно скачать файлом.

Как пользоваться

  1. Вставьте в поле ввода массив объектов. Одиночный объект дает таблицу из одной строки.
  2. Выберите разделитель: запятая, точка с запятой, табуляция или вертикальная черта. Excel с русскими региональными настройками обычно ожидает точку с запятой.
  3. Если файл будет открываться в Excel, оставьте UTF-8 BOM включенным и нажмите «Скачать CSV».
  4. Чтобы вставить результат в другую программу, используйте кнопку копирования.

Как это работает

  • Формат соответствует 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 выглядят одинаково.

Мои данные куда-то отправляются?

Нет. Преобразование целиком выполняется в браузере, ничего не передается и не сохраняется.

Не нашли нужный инструмент?