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/20191027/1943370.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值