Конвертер JSON в CSV

Превратите JSON-массив в CSV, готовый для таблицы.

Работает в браузере. То, что вы вводите, никуда не отправляется.

Как конвертировать JSON в CSV

  1. Вставьте или загрузите JSON-массив объектов.
  2. Выберите разделитель и нужно ли разворачивать вложенные поля.
  3. Скопируйте CSV или скачайте файл.

Как разворачиваются вложенные поля

JSONСтолбец CSVЗначение
{"user":{"name":"Sam"}}user.nameSam
{"tags":["a","b"]}tagsa, b
{"active":true}activetrue

Что меняет разворачивание

НастройкаВложенный объектМассив значений
Разворачивание включеноПо одному столбцу на поле (address.city)Объединяется в одну ячейку через запятую
Разворачивание выключеноОдна ячейка с текстом JSONОдна ячейка с текстом JSON

Советы для чистого экспорта CSV

  • Порядок столбцов следует порядку первого появления полей во всех строках, а не алфавитному порядку.
  • Если приложение для таблиц показывает всё сваленным в один столбец, скачайте файл заново, выбрав точку с запятой вместо запятой в качестве разделителя.
  • Значение, хранящееся как строка JSON, например почтовый индекс "00501", записывается в CSV именно как эта строка, ведь числами считаются только значения, уже являющиеся числами JSON.

Заметки о формате CSV

  • Поле берётся в кавычки только тогда, когда это необходимо, например если оно содержит запятую, кавычку или перенос строки, в соответствии с правилами корректного CSV из RFC 4180.
  • Загружаемый файл начинается с метки порядка байтов UTF-8, чтобы Excel корректно открывал символы с акцентами. Инструменты, ожидающие обычный UTF-8 без неё, всё равно нормально читают остальную часть файла.

Частые вопросы о JSON в CSV

Какую форму JSON это ожидает?

Массив объектов, например [{"name":"Sam","age":30}]. Один объект становится одной строкой, а массив массивов записывается построчно.

Что происходит с вложенными объектами и массивами?

При включённом разворачивании вложенное поле вроде address.city становится отдельным столбцом с именем address.city. Списки простых значений объединяются в одну ячейку через запятую.

Должны ли у всех строк быть одинаковые поля?

Нет. Заголовок включает каждое поле, найденное в любой строке, в порядке их первого появления, а пропущенные значения оставляются пустыми.

Почему акценты и спецсимволы выглядят неправильно при открытии CSV в Excel?

Excel сам угадывает кодировку текста. Скачанный файл начинается с метки UTF-8, поэтому акценты и символы отображаются правильно. Если ваш Excel использует запятую как десятичный разделитель, выберите точку с запятой в качестве разделителя.

Что происходит с null или отсутствующими значениями?

Значение null или поле, отсутствующее в строке, становится пустой ячейкой. Столбец всё равно появится в заголовке, если хотя бы в одной другой строке он есть.

Можно конвертировать ответ API, обёрнутый в объект, вроде {"data": [...]}

Вставьте только сам массив, например содержимое поля data. Этот конвертер ожидает массив объектов или один объект на верхнем уровне, а не обёртку вокруг них.

Можно конвертировать JSON-массив простых строк или чисел, не объектов?

Да. Каждое значение становится одной строкой с одним столбцом, поэтому ["a", "b"] превращается в CSV из двух строк, по одному значению на строку.

CSV использует окончания строк CRLF или LF?

CRLF (\r\n) между строками, именно этого ожидает соглашение CSV в RFC 4180 и именно так пишет сам Excel.

Похожие инструменты