def jsonString = "" "{
" menu": {
" id": " file",
" value": " File",
" popup": {
" menuitem": [
{
" value": " New",
" onclick": [" CreateNewDoc( ) "," hai"],
" newnode":" added"
}
]
}
}
}" ""
def printDetails = { key, value -> println "Key - $key, its value is \" ${value}\" and is of typpe ${value.class}" }
def showMap = { map -> map.collect { k, v -> printDetails ( k, v) } }
def json = new groovy.json .JsonSlurper ( ) .parseText ( jsonString)
def mItem = json.menu .popup .menuitem
if ( mItem instanceof List) {
mItem.collect { showMap it }
}
println 'done'
ZGVmIGpzb25TdHJpbmcgPSAiIiJ7CiAgICAibWVudSI6IHsKICAgICAgICAgImlkIjogImZpbGUiLAogICAgICAgICAidmFsdWUiOiAiRmlsZSIsCiAgICAgICAgICJwb3B1cCI6IHsKICAgICAgICAgICAgICAibWVudWl0ZW0iOiBbCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIk5ldyIsIAogICAgICAgICAgICAgICAgICAgICAgICJvbmNsaWNrIjogWyJDcmVhdGVOZXdEb2MoKSIsImhhaSJdLAogICAgICAgICAgICAgICAgICAgICAgICJuZXdub2RlIjoiYWRkZWQiCiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXQogICAgICAgICAgfQogICAgICB9Cn0iIiIKCmRlZiBwcmludERldGFpbHMgPSB7IGtleSwgdmFsdWUgLT4gcHJpbnRsbiAiS2V5IC0gJGtleSwgaXRzIHZhbHVlIGlzIFwiJHt2YWx1ZX1cIiBhbmQgaXMgb2YgdHlwcGUgJHt2YWx1ZS5jbGFzc30iIH0KCmRlZiBzaG93TWFwID0geyBtYXAgLT4gbWFwLmNvbGxlY3QgeyBrLCB2IC0+IHByaW50RGV0YWlscyAoayx2KSB9IH0KCmRlZiBqc29uID0gbmV3IGdyb292eS5qc29uLkpzb25TbHVycGVyKCkucGFyc2VUZXh0KGpzb25TdHJpbmcpCmRlZiBtSXRlbSA9IGpzb24ubWVudS5wb3B1cC5tZW51aXRlbQppZiAobUl0ZW0gaW5zdGFuY2VvZiBMaXN0KSB7CiAgIG1JdGVtLmNvbGxlY3QgeyBzaG93TWFwIGl0ICB9Cn0KcHJpbnRsbiAnZG9uZSc=