Как пользоваться: JSON в CSV
- Вставьте JSON-массив объектов (или откройте файл
.json). Один объект превратится в одну строку. - Выберите разделитель: запятую для большинства программ, точку с запятой для Excel в странах Европы, табуляцию для TSV.
- Решите, как обрабатывать вложенные данные: разворачивать объекты в столбцы
parent.child, а массивы раскрывать, объединять или оставлять в виде JSON. - Проверьте предпросмотр таблицы и нажмите Скачать .csv или Копировать.
Что такое конвертация JSON в CSV?
CSV (значения, разделённые запятыми) — это плоская таблица: одна строка заголовков, затем по одной строке на каждую запись. JSON же иерархичен: объекты могут содержать объекты и массивы. Поэтому конвертация JSON в CSV означает выбор столбцов, разворачивание вложенных структур и экранирование значений, чтобы запятые, кавычки и переносы строк внутри полей не ломали таблицу. Результат сразу открывается в Excel, Google Таблицах, Numbers или в любом инструменте импорта в базу данных.
Как разворачиваются вложенные объекты и массивы
Если включена опция Разворачивать вложенные объекты, ключи объединяются через точку. Для такой записи:
{
"id": 1,
"address": {
"city": "London",
"country": "UK"
},
"tags": ["math", "computing"]
}
конвертер создаст такие столбцы в зависимости от настройки массивов:
| Режим массивов | Столбцы | Лучше всего подходит для |
|---|---|---|
| Развернуть в столбцы | id, address.city, address.country, tags.0, tags.1 | Обратной конвертации в CSV в JSON (вложенность восстанавливается) |
| Объединить значения | … tags = math; computing | Удобных для чтения таблиц |
| Оставить как текст JSON | … tags = ["math","computing"] | Хранения без потерь в одной ячейке |
Столбцы представляют собой объединение всех ключей по всем записям в порядке первого появления, поэтому у записей с отсутствующими полями просто останутся пустые ячейки. Значение null превращается в пустую ячейку.
Правила кавычек и экранирования (RFC 4180)
Поле заключается в двойные кавычки, если оно содержит разделитель, двойную кавычку, перенос строки или пробелы в начале или в конце. Двойные кавычки внутри поля экранируются их удвоением: She said "hi" превращается в "She said ""hi""". Включите опцию Заключать в кавычки каждое поле, если ваш импортёр этого требует.
Открытие CSV-файлов в Excel
Excel определяет кодировку и разделитель по настройкам системы. Помогут два варианта: UTF-8 BOM (по умолчанию добавляется в загрузки) позволяет Excel корректно отображать диакритику и эмодзи, а разделитель точка с запятой совпадает с настройкой Excel по умолчанию в языковых стандартах, где запятая используется как десятичный разделитель (Германия, Франция, Испания и другие). Если данные получены от ненадёжных пользователей, включите опцию Экранировать формулы: она добавляет апостроф перед значениями, которые начинаются с =, +, - или @, чтобы предотвратить CSV-инъекцию формул.
Не получается разобрать JSON? Сначала исправьте его в форматировщике JSON, который укажет место ошибки.
Также ищут как: json в excel, json2csv, развернуть json, json в таблицу, json в tsv.
Инструменты, которые хорошо сочетаются с JSON в CSV
- JSON в YAML — Вставьте JSON и получите аккуратный YAML для манифестов Kubernetes, Docker Compose, GitHub Actions или любого конфигурационного файла.
- Удаление дублей строк — Вставьте список, чтобы мгновенно удалить повторяющиеся строки.
- Валидатор JSON Schema — Вставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую схему по примеру данных.
- Тестер JSONPath — Введите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения.
Часто задаваемые вопросы
Какую структуру JSON ожидает конвертер?
{"data": [...]}), этот массив используется автоматически.Как открыть CSV в Excel без искажения символов?
Можно ли конвертировать CSV обратно в JSON?
address.city и tags.0, снова превратятся во вложенные объекты и массивы.Есть ли ограничение на размер?
Что такое CSV-инъекция?
=, +, - или @, как формулы. Вредоносные данные могут этим воспользоваться, поэтому опция Экранировать формулы добавляет апостроф перед такими значениями.