Жидкий шаблон в приложении Logic App

Я тестировал жидкий шаблон Shopify для выполнения преобразования данных из XML в XML/JSON. Жидкий шаблон — это один из инструментов шаблонирования, упомянутых на сайте Microsoft для выполнения преобразования данных в Logic App (другим инструментом является почтенный XSLT).

Я не использовал XSLT раньше, но по сравнению с жидким шаблоном последний кажется более дружественным. Поэтому я начал использовать жидкий шаблон для своего исследования.

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

  1. Синтаксические различия между liquid и dotliquid (используется Microsoft):
    a. Капитализация первой буквы, т.е. Append вместо append.
    b. Различные именования, т.е. DividedBy вместо divided_by.

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

  2. Невозможно отличить один дочерний узел от списка дочерних узлов. Для примера ниже приведены 2 корректных сниппета, которые могут быть интерпретированы по-разному.

    Сниппет 1

    <order>
        <orderItem>
            <itemName>Item 1</itemName>
        </orderItem>
    </order>
    

    Сниппет 2

    <order>
        <orderItem>
            <itemName>Item 1</itemName>
        </orderItem>
        <orderItem>
            <itemName>Item 2</itemName>
        </orderItem>
    </order>
    

    Первый сниппет интерпретирует order как объект, содержащий orderItem. С другой стороны, второй сниппет интерпретирует order как _массив _of `orderItem 😅.

    К счастью, у Microsoft есть JSONArrayFor. Используя JSONArrayFor вместо цикла For, мы можем заставить order рассматриваться как массив, независимо от количества orderItem внутри order.

Оцените статью
Procodings.ru
Добавить комментарий