Зачем переводить выгрузки магазина из JSON в CSV
Большинство складских баз, учетных систем и внешних поставщиков отдают данные через API в формате JSON. При этом модули импорта в CMS интернет-магазинов чаще всего принимают плоские таблицы формата CSV. Конвертация требуется для трех основных типов данных:
- Каталог товаров: названия, артикулы, цены, описания и характеристики.
- Складские остатки: связка идентификатора товара с количеством на конкретном складе.
- История заказов: списки покупок, контактные данные клиентов и адреса доставки для переноса в новую систему управления торговлей.
Чтобы подготовить данные к загрузке, используют онлайн конвертер JSON в CSV на платформе Zyntec. Он позволяет преобразовать массив объектов в структурированную таблицу с нужным разделителем колонок.
Сквозной сценарий: от выгрузки до готовой таблицы
Процесс конвертации и подготовки данных к импорту состоит из пяти последовательных шагов.
Шаг 1. Получение и проверка исходного JSON
Скопируйте массив данных из API поставщика или учетной системы. Для первой проверки структуры скопируйте небольшой тестовый фрагмент из 1-2 объектов, чтобы убедиться в правильности названий ключей и типов полей.
Шаг 2. Заполнение обязательного поля
Вставьте массив в поле «json». Если исходная выгрузка представляет собой объект, внутри которого лежит один массив с товарами, сервис автоматически извлечет его. Если вместо объектов передан массив простых строк или чисел, они будут записаны в единую колонку «value».
Шаг 3. Выбор разделителя под требования CMS
Модули импорта в разных CMS настроены на определенный символ разделения колонок. В поле «разделитель» доступны четыре варианта:
- Запятая (значение по умолчанию);
- Точка с запятой (стандарт для русскоязычных таблиц и импорта с описаниями, содержащими запятые);
- Табуляция (подходит для текстов с обилием знаков препинания);
- Вертикальная черта
|(удобна, если в текстах присутствуют точки с запятой).
Шаг 4. Настройка плоского режима
Поле «плоский» управляет разворачиванием вложенных объектов и массивов (по умолчанию установлено значение 1):
- При значении
1вложенные параметры разворачиваются в отдельные столбцы через точку (например,attributes.color), а массивы превращаются в столбецключ[]со значениями через запятую. - При значении
0вложенные объекты и массивы сохраняются внутри ячейки таблицы как сырая JSON-строка.
Шаг 5. Конвертация и выгрузка
Запустите обработку, проверьте первую строку с заголовками и перенесите сгенерированный текст в файл с расширением .csv.
Разбор структуры: простые товары и вложенные свойства
Рассмотрим типовой пример выгрузки, содержащей базовые параметры товара и вложенные характеристики:
[
{
"name": "Футболка базовая",
"price": 1200,
"qty": 15,
"details": {
"color": "белый",
"size": "L"
},
"tags": ["новинка", "хлопок"]
},
{
"name": "Носки спортивные",
"price": 300,
"qty": 50,
"details": {
"color": "черный"
}
}
]
При включенном режиме «плоский: 1» конвертер формирует следующую таблицу:
| name | price | qty | details.color | details.size | tags[] |
|---|---|---|---|---|---|
| Футболка базовая | 1200 | 15 | белый | L | новинка, хлопок |
| Носки спортивные | 300 | 50 | черный |
Все ключи объединяются в единый список заголовков, а отсутствующие параметры у второго товара остаются пустыми ячейками.
Проверка CSV перед запуском импорта
Перед передачей файла в модуль импорта CMS проверьте три ключевых параметра:
- Совпадение заголовков. Первая строка таблицы содержит ключи объектов JSON. Убедитесь, что названия колонок (
name,price,qty) совпадают с картой полей вашей CMS. - Заполнение пропусков. Если у части товаров в исходном JSON отсутствовали ключи, в строке будут стоять пустые значения между разделителями. Убедитесь, что для обязательных полей каталога (например, артикул или цена) в выгрузке нет пропусков.
- Экранирование. Значения, содержащие выбранный разделитель, кавычки или переносы строк, должны автоматически оборачиваться в двойные кавычки.
Частые ошибки при конвертации и их решение
Если структура исходного файла нарушена, интерфейс выдает предупреждающие сообщения:
- «Вставьте JSON-массив объектов»: поле ввода осталось пустым. Вставьте валидный текст данных.
- «Ошибка JSON: …»: синтаксическая ошибка в коде выгрузки (пропущенная запятая, незакрытая фигурная или квадратная скобка, некорректные кавычки). Проверьте целостность переданного текста.
- «Ожидается JSON-массив объектов»: передан одиночный примитив или пустой список неподдерживаемого формата вместо массива записей.
Если в карточках товаров используются текстовые описания с запятыми, всегда выбирайте в качестве разделителя точку с запятой или знак табуляции, чтобы исключить смещение столбцов при обработке табличным процессором.