Прочитайте значение ключа JSON и сохраните его Переменная XSLT - PullRequest
0 голосов
/ 20 декабря 2018

Пожалуйста, помогите мне для кода XSLT, который будет работать в DataPower для следующего ввода

Ввод: {"Метка времени": "2018-12-19T10: 52: 21.0870605-05: 00", "ResponseType":"Success", "Name": [{"Code": "1001", "Description": "ABC", "Number": "123"
}, {"Code": "1002", "Description": "XYZ", "Number": "123"
}, {"Code": "1003", "Description": "PQA", "Number": "123"
}, {"Code": "1004", "Описание": "MNO", "Number": "123"
}]}

Выход:

Переменная XSLT

xsl:variable_code = 1001,1002,1003,1004

xsl: variable_Name: ABC, XYZ, PQA, MNO

1 Ответ

0 голосов
/ 20 декабря 2018

XSLT не будет работать с этим форматом изначально (вход XSLT всегда XML, но вывод может быть любым).

Есть способы обойти это.

1 - Использовать преобразование Gatewayscriptвместо.Вы можете найти пример в своих собственных папках "образца" Datapower * . Файлы заканчиваются на ".js"

2 - Вы все еще можете сделать это в XSLT, но нужно автоматическипреобразовать JSON в XML, используя параметры ввода и специальную скрытую волшебную переменную. Практические инструкции:

  1. В вашем объекте (брандмауэр XML или многопротокольный Gwy) укажите вход как "JSON "
  2. На шаге в правиле, где вы хотите использовать XSLT для интерпретации этого ввода, не используйте переменную" PIPE "или" INPUT "в качестве ввода, но" __JSONASJSONX ". ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯЗДЕСЬ .
  3. Это позволит вам перемещаться по файлу JSON после преобразования в XML.

Вот пример преобразования .

Остальное - обычное программирование XSLT на Datapower ... вы можете создать вывод в формате JSON или XML ... на ваш выбор!

...