0
我想使用groovy將xml編碼爲json ..我有以下代碼..但是從輸出{「note」:[{「to」:[「Tove」]},{ 「from」:[「Jani」]},{「heading」:[「Reminder」]}]}我想從輸出中刪除「[]」的東西,我如何刪除這些東西..代碼如下將XML轉換爲來自Groovy的json
def xml = '''<root>
| <node>Tim</node>
| <node>Tom</node>
| <node>
| <anotherNode>another</anotherNode>
| </node>
|</root>'''.stripMargin()
// Parse it
def parsed = new XmlParser().parseText(xml)
// Deal with each node:
def handle
handle = { node ->
if(node instanceof String) {
node
}
else {
[ (node.name()): node.collect(handle) ]
}
}
// Convert it to a Map containing a List of Maps
def jsonObject = [ (parsed.name()): parsed.collect { node ->
[ (node.name()): node.collect(handle) ]
} ]
// And dump it as Json
def json = new groovy.json.JsonBuilder(jsonObject)
// Check it's what we expected
assert json.toString() == '{"root":[{"node":["Tim"]},{"node":["Tom"]},{"node": [{"anotherNode":["another"]}]}]}'
DEF的JSONObject = [(parsed.name()):粉碎(parsed.collect({節點 - > \t \t // [(node.name()):node.collect(處理)] \t \t [(node.name()):粉碎(node.collect(手柄))] \t \t}))] – user3282910
我改變代碼,但它僅除去內 「[]」 S。但它沒有刪除外面的「[]」我怎麼能避免外面的「[]」s ..? – user3282910
我想避免使用「{}」 – user3282910