Зачем переводить выгрузки магазина из 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 проверьте три ключевых параметра:

  1. Совпадение заголовков. Первая строка таблицы содержит ключи объектов JSON. Убедитесь, что названия колонок (name, price, qty) совпадают с картой полей вашей CMS.
  2. Заполнение пропусков. Если у части товаров в исходном JSON отсутствовали ключи, в строке будут стоять пустые значения между разделителями. Убедитесь, что для обязательных полей каталога (например, артикул или цена) в выгрузке нет пропусков.
  3. Экранирование. Значения, содержащие выбранный разделитель, кавычки или переносы строк, должны автоматически оборачиваться в двойные кавычки.

Частые ошибки при конвертации и их решение

Если структура исходного файла нарушена, интерфейс выдает предупреждающие сообщения:

  • «Вставьте JSON-массив объектов»: поле ввода осталось пустым. Вставьте валидный текст данных.
  • «Ошибка JSON: …»: синтаксическая ошибка в коде выгрузки (пропущенная запятая, незакрытая фигурная или квадратная скобка, некорректные кавычки). Проверьте целостность переданного текста.
  • «Ожидается JSON-массив объектов»: передан одиночный примитив или пустой список неподдерживаемого формата вместо массива записей.

Если в карточках товаров используются текстовые описания с запятыми, всегда выбирайте в качестве разделителя точку с запятой или знак табуляции, чтобы исключить смещение столбцов при обработке табличным процессором.

Читайте также