Каталоги поставщиков

Как убрать из JSON-каталога варианты без SKU или цены

2026-06-29
Задача

В JSON-каталоге внутри products[].variants[] есть варианты с пустым sku или пустой price. В импорт должны попасть только полноценные варианты.

Короткий ответ

Откройте значение sku, добавьте условия экспорта для текущего варианта: sku не пустой, а price соответствует [0-9]+(?:[,.][0-9]+)? (находит целое или дробное число: одну или несколько цифр и необязательную дробную часть через точку или запятую).

Как сделать в Eofferix

  1. В JSON-снапшоте выберите sku внутри массива variants.

    JSON sku варианта
    Выбранное поле относится к повторяющемуся варианту товара.
  2. Откройте настройки значения.

    Открытие настроек sku
    Анимация показывает открытие настроек поля варианта.
  3. Добавьте два условия: sku не пустой и price по регулярному выражению [0-9]+(?:[,.][0-9]+)? (находит целое или дробное число: одну или несколько цифр и необязательную дробную часть через точку или запятую).

    Условия для JSON-варианта
    Условия отбрасывают неполные варианты до выгрузки.

Было / стало

Было

исходные данные
{
    "supplier": "Север",
    "products": [
        {
            "id": "P-5001",
            "name": "Лампа Ладога",
            "variants": [
                {
                    "sku": "SKU-5001-M",
                    "size": "M",
                    "price": "23,90",
                    "stock": 12
                },
                {
                    "sku": "",
                    "size": "L",
                    "price": "23,90",
                    "stock": 3
                }
            ]
        },
        {
            "id": "P-5002",
            "name": "Кресло Волга",
            "variants": [
                {
                    "sku": "SKU-5002-M",
                    "size": "M",
                    "price": "",
                    "stock": 4
                },
                {
                    "sku": "SKU-5002-L",
                    "size": "L",
                    "price": "128,00",
                    "stock": 8
                }
            ]
        }
    ]
}

Стало

результат
{
    "supplier": "Север",
    "products": [
        {
            "id": "P-5001",
            "name": "Лампа Ладога",
            "variants": [
                {
                    "sku": "SKU-5001-M",
                    "size": "M",
                    "price": "23,90",
                    "stock": 12
                }
            ]
        },
        {
            "id": "P-5002",
            "name": "Кресло Волга",
            "variants": [
                {
                    "sku": "SKU-5002-L",
                    "size": "L",
                    "price": "128,00",
                    "stock": 8
                }
            ]
        }
    ]
}

Что важно помнить

  • Область условия должна быть текущим вариантом, а не всем товаром.
  • Если цена может быть 0, решите заранее: это ошибка поставщика или допустимый бесплатный товар.

Обрабатывайте данные быстрее с Eofferix

Создайте бесплатный аккаунт, чтобы автоматизировать каталоги и прайс-листы под ваши правила.

Зарегистрироваться