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
總結
以上是生活随笔為你收集整理的java xml转json数组,java-如何将单个子xml元素转换为Json Array的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nature Genetics | 我国
- 下一篇: SLA介绍