К содержимому
Все материалы

CSV, JSON или XML: выбираем формат выгрузки

Таблица для проверки, вложенные данные для программы или XML по требованиям получателя. Объясняем, как выбрать формат и что проверить в примере.

Редакция AkmeloО продукте и работе с данными
Три листа с разными структурами данных на тёмном фоне: варианты выгрузкиИзображение недоступно

Выбор формата начинается с вопроса: кто получит данные и что будет с ними делать? Для ручной проверки каталога и для подключения к внешней системе нужны разные представления одного набора записей.

Akmelo поддерживает CSV, JSON и XML. При этом расширение файла не гарантирует, что конкретная система его примет. Важны также названия полей, структура, кодировка и требования самого получателя. Их лучше выяснить до настройки большой выгрузки.

CSV: когда нужна таблица

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

Обратите внимание на разделитель и кодировку. Если файл открылся одной длинной колонкой, это часто вопрос настроек импорта, а не потерянных данных. Артикулы с ведущими нулями тоже стоит проверить отдельно: табличная программа может попытаться прочитать их как числа.

С вложенными объектами CSV менее удобен. В Akmelo путь вложенного поля становится названием колонки, а значения массива собираются в одну ячейку с разделителем. Если получателю нужен настоящий массив, лучше рассмотреть другой формат.

JSON: когда у записи есть структура

В JSON товар может содержать вложенные характеристики и списки, например несколько изображений. Такой вариант удобен для программы, которая умеет читать объекты и массивы. Но названия ключей и ожидаемые типы нужно согласовать заранее.

В Akmelo вложенность задаётся в схеме полей выгрузки. Перед подключением откройте пример результата: важно увидеть не только знакомые значения, но и то, на каком уровне они находятся. Если получатель ждёт поле price у товара, вложенное product.price само по себе ему не подойдёт.

XML: когда его требует получатель

XML имеет смысл выбирать, если он указан в документации принимающей системы. Здесь важны названия тегов, корневой элемент и расположение данных. В Akmelo корневой тег и тег записи настраиваются, но этого недостаточно для обещания совместимости с любым XML-импортом.

Попросите у получателя пример допустимого файла. Сверьте его с предпросмотром и проверьте небольшую выгрузку на практике. Если требуется конкретная схема, проверять нужно именно её условия.

Во всех трёх случаях начните с одной и той же основы: понятных полей и правил обработки пропусков. Мы собрали их в проверке данных перед выгрузкой. Сохраните удачный пробный файл как образец для следующих выгрузок: по нему проще заметить неожиданное изменение структуры.