Azure APIM:将 JSON 响应转换为自定义 XML 格式
Azure APIM : Convert JSON Response to Customized XML Format
我有一个要求,我想将 JSON 响应(对象数组)转换为自定义的 XML 格式,以便我现有的代码可以解析它。
我知道有一个名为 <json-to-xml />
的 Azure 转换策略,但无法对其进行自定义。
示例 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>
我也尝试过使用液体模板,但没有成功。需要这方面的指导或指点。
为了这个要求,我创建了一个 api 响应 {"data":[{"a":1,"b":2},{"a":3,"b":4}]}
来模拟你的情况。
然后我首先在 APIM 策略中使用 <json-to-xml>
,在 <json-to-xml>
策略之后响应将转换为 xml,如下所示:
<Document>
<data>
<a>1</a>
<b>2</b>
</data>
<data>
<a>3</a>
<b>4</b>
</data>
</Document>
之后,使用xslt将xml转换成你想要的
以下是我的APIM中的所有政策,供您参考:
APIM 结果如你所愿:
我有一个要求,我想将 JSON 响应(对象数组)转换为自定义的 XML 格式,以便我现有的代码可以解析它。
我知道有一个名为 <json-to-xml />
的 Azure 转换策略,但无法对其进行自定义。
示例 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>
我也尝试过使用液体模板,但没有成功。需要这方面的指导或指点。
为了这个要求,我创建了一个 api 响应 {"data":[{"a":1,"b":2},{"a":3,"b":4}]}
来模拟你的情况。
然后我首先在 APIM 策略中使用 <json-to-xml>
,在 <json-to-xml>
策略之后响应将转换为 xml,如下所示:
<Document>
<data>
<a>1</a>
<b>2</b>
</data>
<data>
<a>3</a>
<b>4</b>
</data>
</Document>
之后,使用xslt将xml转换成你想要的
以下是我的APIM中的所有政策,供您参考:
APIM 结果如你所愿: