java-如何将单个子xml元素转换为Json Array
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如何将单个子xml元素转换为Json Array,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1779字,纯文字阅读大概需要3分钟。
内容图文
![java-如何将单个子xml元素转换为Json Array](/upload/InfoBanner/zyjiaocheng/683/0e4e8b93e0b14d299590e99a6cb180af.jpg)
我正在使用WSO2 ESB,并尝试将XML有效负载转换为Json.
<property name="messageType" value="application/json" scope="axis2"/>
上面的属性调解器将我的xml转换为json,并且一切正常.
问题出在我的XML有效负载中的子节点上.
当xml是
<users>
<user>user1</user>
<user>user2</user>
</users>
它被转换为
"users": {
"user": [
"user1", "user2"
]
}
所以我剩下的接收json负载的完整端点期望列表“用户”工作正常.
但是当xml是
<users>
<user>user1</user>
</users>
转换后的json看起来像这样,
"users": {
"user": "user1"
}
因此,期望“用户”列表的restfull端点未获取列表,而是发送了一个字符串,并且数据类型不匹配导致找不到端点.
如果进一步尝试,
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:json="http://james.newtonking.com/projects/json">
<users>
<user json:Array="true">user1</user>
</users>
</Data>
转换后的结果为json,
{
"Data": {
"users": {
"user": {
"@Array": "true",
"$": "user1"
}
}
}
}
我需要的是
{
"Data": {
"users": {
"user": {
[
"user1"
]
}
}
}
}
在杰伊的建议之后,
谢谢周杰伦,
在您输入之后,我尝试了一些操作,但是在某些时候遇到了困难.这就是我正在尝试的
mc.setPayloadJSON(
{
"someIds" : {
"someIdList" : (vUIdLen > 1 ? mc.getProperty("someIdList") : "["+someIdList+"]")
}
});</script>
我正在检查子节点的长度,如果大于1,则使用该节点的较早捕获的值,即[“ abc”,“ pqr”],如果小于或等于1,则为使用单个json值并在“ [” someIdList“]”中构造它,但是没有一个被附加.它给出错误为“脚本引擎返回了执行内联js脚本函数中介的错误”.
如何正确附加此内容.
(vUIdLen > 1 ? mc.getProperty("someIdList") : "["+someIdList+"]")
上面的mc.getProperty(“ someIdList”)的值为[“ abc”,“ pqr”],“ [” someIdList“]”中someIdList的值为abc.
请提出建议.
解决方法:
还有另一种解决方案,无需使用脚本中介程序,您可以添加
<?xml-multiple?>
处理您的有效载荷的指令.如下;
<users>
<?xml-multiple?>
<user>user1</user>
</users>
这将为用户创建json数组.
{"users": {"user": ["user1"]}}
希望这会有所帮助.
内容总结
以上是互联网集市为您收集整理的java-如何将单个子xml元素转换为Json Array全部内容,希望文章能够帮你解决java-如何将单个子xml元素转换为Json Array所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。