Конвертация JSON в CSV
Конвертер ожидает JSON-массив объектов и записывает по одной строке CSV на каждый объект. У записей редко бывают одинаковые ключи, поэтому в этом руководстве показано, как выбираются столбцы и чем заполняются пропуски.
Разбор примера
[
{"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
{"id": 2, "name": "Kim", "email": "[email protected]"},
{"id": 3, "name": "Lee", "email": null}
]id,name,tags,email 1,"Smith, Jane","admin,ops", 2,Kim,,[email protected] 3,Lee,,
Строка заголовков перечисляет все ключи в порядке их первого появления: id, name, tags, а затем email из второго объекта. У Smith нет email, а email у Lee равен null, поэтому обе ячейки пустые. Массив tags записывается как admin,ops и заключается в кавычки, потому что содержит разделитель, — так же, как "Smith, Jane".
Как это обрабатывает конвертер
- Входные данные должны быть JSON-массивом вида [{...}, {...}]; отдельный объект сам по себе отклоняется.
- Столбцы — это объединение ключей всех объектов в порядке первого появления каждого ключа.
- Отсутствующий ключ или значение null дают пустую ячейку.
- Числа и логические значения записываются как обычный текст, например 42 и true.
- Массивы простых значений записываются как их элементы, соединённые запятыми. Вложенные объекты и массивы, содержащие объекты, записываются в ячейку как компактный JSON, поэтому данные не теряются; если вам нужны отдельные столбцы, сначала разверните их в плоские поля (например, address_city).
- Значения, содержащие разделитель, кавычку или перенос строки, заключаются в двойные кавычки, а кавычки внутри удваиваются.