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

时间:2018-12-19 21:20:04

标签: xslt-1.0 ibm-datapower

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

输入:{    “时间戳记”:“ 2018-12-19T10:52:21.0870605-05:00”,    “ ResponseType”:“成功”,     “名称”: [             {          “代码”:“ 1001”,          “描述”:“ ABC”,          “数字”:“ 123”
      },             {          “代码”:“ 1002”,          “描述”:“ XYZ”,          “数字”:“ 123”
      },             {          “代码”:“ 1003”,          “描述”:“ PQA”,          “数字”:“ 123”
      },             {          “代码”:“ 1004”,          “描述”:“ MNO”,          “数字”:“ 123”
      }    ] }

输出:

XSLT变量

xsl:variable_code = 1001,1002,1003,1004

xsl:variable_Name:ABC,XYZ,PQA,MNO

1 个答案:

答案 0 :(得分:2)

XSLT本身无法使用此格式(XSLT输入始终是XML,但输出可以是任何东西)。

有多种方法可以解决这个问题。

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

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

  1. 在您的对象(XML防火墙或Multi-Protocol Gwy)中,将输入指定为“ JSON”
  2. 在规则中要使用XSLT解释此输入的步骤中,请勿将可变的“ PIPE”或“ INPUT”用作输入,而应使用“ __JSONASJSONX”。 MORE INFO HERE
  3. 这将允许您在转换为XML之后浏览JSON文件。

这里是an example of the conversion

其余的只是在Datapower上进行普通的XSLT编程...您可以创建JSON或XML输出...您可以选择!