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

Как взять цену из JSON-массива prices по price_type

2026-06-29
Задача

В JSON у товара массив prices: базовая и розничная цена. Для импорта нужна только цена с price_type=retail.

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

Откройте amount внутри prices и добавьте условие по соседнему price_type: регулярное выражение ^retail$ (находит значение, которое целиком равно retail).

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

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

    JSON-поле amount
    Выбранное поле относится к одному элементу массива.
  2. Откройте настройки значения.

    Открытие настроек amount
    Анимация показывает открытие настроек поля.
  3. Вариант без регулярного выражения: добавьте условие экспорта по соседнему price_type - Равно retail.

    Условие JSON
    Так Eofferix берет amount только из элемента массива с нужным типом цены.
  4. Вариант с регулярным выражением: добавьте условие экспорта по соседнему price_type - Регулярное выражение ^retail$ (находит значение, которое целиком равно retail).

    Условие JSON
    Это строгий вариант той же проверки, когда тип цены должен совпасть целиком.

Было / стало

Было

исходные данные
{
    "products": [
        {
            "sku": "SKU-29001",
            "name": "Лампа Ладога",
            "prices": [
                {
                    "price_type": "base",
                    "amount": 1490,
                    "currency": "RUB"
                },
                {
                    "price_type": "retail",
                    "amount": 1290,
                    "currency": "RUB"
                }
            ]
        },
        {
            "sku": "SKU-29002",
            "name": "Кресло Волга",
            "prices": [
                {
                    "price_type": "base",
                    "amount": 9200,
                    "currency": "RUB"
                },
                {
                    "price_type": "retail",
                    "amount": 8400,
                    "currency": "RUB"
                }
            ]
        }
    ]
}

Стало

результат
{
    "products": [
        {
            "sku": "SKU-29001",
            "name": "Лампа Ладога",
            "price": 1290,
            "currency": "RUB"
        },
        {
            "sku": "SKU-29002",
            "name": "Кресло Волга",
            "price": 8400,
            "currency": "RUB"
        }
    ]
}

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

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

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