0

我有一个要求,我想将 JSON 响应(一个对象数组)转换为自定义的 XML 格式,以便我现有的代码可以解析它。

我知道有一个名为 的 Azure 转换策略<json-to-xml />,但无法对其进行自定义。

示例 JSON 响应:

{
    "data":[
               {"a":1,"b":2},
               {"a":3,"b":4}
            ],
    "param2": "Success",
    "param3": "true"
 }

所需的 XML 格式:

<result>
 <sub-res>
  <res x="a" y=1>
  <res x="b" y=2>
 </sub-res>
 <sub-res>
  <res x="a" y=3>
  <res x="b" y=4>
 </sub-res>
</result>

我也尝试过使用液体模板,但没有成功。需要这方面的指导或指示。

4

1 回答 1

1

对于这个要求,我创建了一个 api{"data":[{"a":1,"b":2},{"a":3,"b":4}]}来模拟你的情况。

然后我首先使用<json-to-xml>APIM 策略,响应将转换为 xml,<json-to-xml>策略后如下所示:

<Document>
    <data>
        <a>1</a>
        <b>2</b>
    </data>
    <data>
        <a>3</a>
        <b>4</b>
    </data>
</Document>

之后,使用 xslt 将 xml 转换为您想要的。

以下是我的 APIM 中的所有政策供您参考:

在此处输入图像描述

APIM 的结果显示为您想要的:

在此处输入图像描述

于 2021-06-22T05:58:47.903 回答