2017-07-05 55 views
-1

Groovy中我有下面的XML如何將Groovy中的xml轉換爲json?

<data> 
    <row> 
     <id>USA</id> 
     <value>United States of America</value> 
    </row> 
    <row> 
     <id>CAN</id> 
     <value>Canada</value> 
    </row> 
</data> 

我需要在常規轉換上面的XML到下面的JSON格式

{ 
    "data": [ 
     { 
     "KEY": "USA", 
     "VALUE": "United States of America" 
     }, 
     { 
     "KEY": "CAN", 
     "VALUE": "Canada" 
     } 
    ] 
} 

任何幫助將不勝感激。

感謝

哈日

+0

https://stackoverflow.com/questions/41073630/xml -json-conversion-in-groovy – RanPaul

+0

你到目前爲止嘗試過什麼?你面對什麼問題? – cfrick

回答

1

在這裏你去:

//Pass xml as string to below parseText method 
def parsed = new XmlSlurper().parseText(xml) 
//Create the map as needed out of parsed xml 
def map = [(parsed[0].name): parsed.'**' 
    .findAll{it.name() == 'row'} 
    .collect{ row -> 
    row.collectEntries{[KEY: row.id.text(), VALUE:row.value.text()]} 
    } 
] 
println new groovy.json.JsonBuilder(map).toPrettyString() 

您可以快速地在線試用Demo

+0

只是挑剔:你不需要'row.collectEntries {...}'那裏 - '...'就足夠了 – cfrick