正如标题所说,我需要一些帮助来弄清楚如何将没有属性的 JSON 数组转换为 XSL。
(1)输入:
{
"Body": {
"name": "jhon",
"ids": ["a", "b"]
}
}
(2) 预期输出应该具有这种结构。
{
"name": "jhon",
"ids": ["a", "b"]
}
我尝试过这样改造。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output method="text"/>
<xsl:variable name="path" select="*/Body"/>
<xsl:template match="/">{
"name" : "<xsl:value-of select="$path/name"/>",
"ids" : "<xsl:value-of select="$path/ids"/>"
}
</xsl:template>
</xsl:stylesheet>
但是 Datapower 无法转换 json 数组 [ids],而是返回此消息 “处理消息时发生错误”和此输出 (3):
{
"Body": {
"Fault": {
"faultcode": "",
"faultactor": "",
"detail": {
"IntegrationError": ""
}
}
}
}
如果我从请求中删除“ids”字段并转换 XSL,它就可以正常工作。这就是为什么我相信我没有正确转换数组。
你需要使用 for-each for id 在线查看。