700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java xml转json数组 java-如何将单个子xml元素转换为Json Array

java xml转json数组 java-如何将单个子xml元素转换为Json Array

时间:2021-01-31 21:59:25

相关推荐

java xml转json数组 java-如何将单个子xml元素转换为Json Array

我正在使用WSO2 ESB,并尝试将XML有效负载转换为Json.

上面的属性调解器将我的xml转换为json,并且一切正常.

问题出在我的XML有效负载中的子节点上.

当xml是

user1

user2

它被转换为

"users": {

"user": [

"user1", "user2"

]

}

所以我剩下的接收json负载的完整端点期望列表“用户”工作正常.

但是当xml是

user1

转换后的json看起来像这样,

"users": {

"user": "user1"

}

因此,期望“用户”列表的restfull端点未获取列表,而是发送了一个字符串,并且数据类型不匹配导致找不到端点.

如果进一步尝试,

user1

转换后的结果为json,

{

"Data": {

"users": {

"user": {

"@Array": "true",

"$": "user1"

}

}

}

}

我需要的是

{

"Data": {

"users": {

"user": {

[

"user1"

]

}

}

}

}

在杰伊的建议之后,

谢谢周杰伦,

在您输入之后,我尝试了一些操作,但是在某些时候遇到了困难.这就是我正在尝试的

mc.setPayloadJSON(

{

"someIds" : {

"someIdList" : (vUIdLen > 1 ? mc.getProperty("someIdList") : "["+someIdList+"]")

}

});

我正在检查子节点的长度,如果大于1,则使用该节点的较早捕获的值,即[“ abc”,“ pqr”],如果小于或等于1,则为使用单个json值并在“ [” someIdList“]”中构造它,但是没有一个被附加.它给出错误为“脚本引擎返回了执行内联js脚本函数中介的错误”.

如何正确附加此内容.

(vUIdLen > 1 ? mc.getProperty("someIdList") : "["+someIdList+"]")

上面的mc.getProperty(“ someIdList”)的值为[“ abc”,“ pqr”],“ [” someIdList“]”中someIdList的值为abc.

请提出建议.

解决方法:

还有另一种解决方案,无需使用脚本中介程序,您可以添加

处理您的有效载荷的指令.如下;

user1

这将为用户创建json数组.

{"users": {"user": ["user1"]}}

希望这会有所帮助.

标签:wso2esb,xml,json,java

来源: https://codeday.me/bug/1027/1943370.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。