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

Как выбрать цену в нужной валюте из JSON-массива prices

2026-06-29
Задача

В JSON-каталоге у товара массив prices: одна цена в RUB, другая в чужой валюте. Для импорта нужна только локальная цена.

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

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

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

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

    JSON amount в массиве prices
    Выбранное значение относится к одному объекту цены.
  2. Откройте настройки значения.

    Открытие настроек amount
    Анимация показывает открытие настроек поля цены.
  3. Добавьте условие экспорта по соседнему currency: регулярное выражение ^RUB$ (находит значение, которое целиком равно RUB).

    Условие currency для JSON-цены
    Условие оставляет только цену в валюте текущего импорта.

Было / стало

Было

исходные данные
{
    "supplier": "Север",
    "products": [
        {
            "id": "P-10001",
            "name": "Лампа Ладога",
            "prices": [
                {
                    "currency": "RUB",
                    "amount": "1290.00"
                },
                {
                    "currency": "EUR",
                    "amount": "14.20"
                }
            ]
        },
        {
            "id": "P-10002",
            "name": "Кресло Волга",
            "prices": [
                {
                    "currency": "EUR",
                    "amount": "98.00"
                },
                {
                    "currency": "RUB",
                    "amount": "8400.00"
                }
            ]
        }
    ]
}

Стало

результат
{
    "supplier": "Север",
    "products": [
        {
            "id": "P-10001",
            "name": "Лампа Ладога",
            "price": {
                "currency": "RUB",
                "amount": "1290.00"
            }
        },
        {
            "id": "P-10002",
            "name": "Кресло Волга",
            "price": {
                "currency": "RUB",
                "amount": "8400.00"
            }
        }
    ]
}

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

  • Этот сценарий отличается от очистки текста цены: здесь выбирается нужный объект из массива prices.
  • Если поставщик хранит валюту на уровне товара, укажите путь к этому полю в условии экспорта.

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

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

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