Перейти к основному содержимому

Конвертация JSON в CSV

Конвертер ожидает JSON-массив объектов и записывает по одной строке CSV на каждый объект. У записей редко бывают одинаковые ключи, поэтому в этом руководстве показано, как выбираются столбцы и чем заполняются пропуски.

Разбор примера

Входные данные (JSON)
[
  {"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
  {"id": 2, "name": "Kim", "email": "[email protected]"},
  {"id": 3, "name": "Lee", "email": null}
]
Результат (CSV)
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).
  • Значения, содержащие разделитель, кавычку или перенос строки, заключаются в двойные кавычки, а кавычки внутри удваиваются.

Другие руководства по конвертации