读取 JSON 键值并将其存储在 XSLT 变量中

Read JSON Key Value and store it XSLT Variable

请帮助我获取 XSLT 代码,该代码将在 DataPower 中用于以下输入

Input: {
   "Timestamp": "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",
         "Description": "MNO",
         "Number": "123"   
      }
   ]
}

输出:

XSLT 变量

xsl:variable_code = 1001,1002,1003,1004

xsl:variable_Name : ABC,XYZ,PQA,MNO

XSLT 本身不能使用这种格式(XSLT 输入总是 XML,但输出可以是任何格式)。

有办法解决这个问题。

1 - 改为使用 Gatewayscript 转换。您可以在 own Datapower "sample" folders" 上找到示例。文件以“.js”结尾

2 - 您仍然可以在 XSLT 中执行此操作,但需要使用输入设置和特殊的隐藏魔法变量将 JSON 自动转换为 XML。 操作方法:

  1. 在您的对象(XML 防火墙或多协议 Gwy)中,将输入指定为 "JSON"
  2. 在要使用 XSLT 解释此输入的规则步骤中,不要使用可变的 "PIPE" 或 "INPUT" 作为输入,而是使用“__JSONASJSONX”。 MORE INFO HERE.
  3. 这将允许您在转换为 XML 后导航 JSON 文件。

这里是an example of the conversion.

剩下的只是 Datapower 上的普通 XSLT 编程...您可以创建 JSON 或 XML 输出...您的选择!