Конвертер JSON в CSV
Превратите JSON-массив в CSV, готовый для таблицы.
Работает в браузере. То, что вы вводите, никуда не отправляется.
- Разворачивает вложенные поля
- Каждый ключ становится столбцом
- Открывается чисто в Excel
Как конвертировать JSON в CSV
- Вставьте или загрузите JSON-массив объектов.
- Выберите разделитель и нужно ли разворачивать вложенные поля.
- Скопируйте CSV или скачайте файл.
Как разворачиваются вложенные поля
| JSON | Столбец CSV | Значение |
|---|---|---|
| {"user":{"name":"Sam"}} | user.name | Sam |
| {"tags":["a","b"]} | tags | a, b |
| {"active":true} | active | true |
Что меняет разворачивание
| Настройка | Вложенный объект | Массив значений |
|---|---|---|
| Разворачивание включено | По одному столбцу на поле (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.