<前> { >之前 <前> “菜单”:{才能 >之前 <前> ,,,“id”:“文件”, >之前 <前> ,,,”工具":{ >之前 <前> ,,,,,”行动”:[ >之前 <前> ,,,,,,,{ >之前 <前> ,,,,,,,,,“id”:“新”, >之前 <前> ,,,,,,,,,”标题”:“新文件” >之前 <前> ,,,,,,,}, >之前 <前> ,,,,,,,{ >之前 <前> ,,,,,,,,,“id”:“开放”, >之前 <前> ,,,,,,,,,”标题”:“打开文件” >之前 <前> ,,,,,,,}, >之前 <前> ,,,,,,,{ >之前 <前> ,,,,,,,,,“id”:“关闭”, >之前 <前> ,,,,,,,,,”标题”:“关闭文件” >之前 <前> ,,,,,,,} >之前 <前> ,,,,,) >之前 <前> ,,,,,”错误”:[] >之前 <前> ,,,} >之前 <前> ,,} >之前 <前> } >之前
<前> 导入groovy。杰森.JsonSlurper >之前 <前>
>之前 <前> String , jsonString ,=,, & # 39; & # 39; & # 39;{"菜单":{ >之前 <前> “id”:“文件”, >之前 <前> “工具":{ >之前 <前> “行动”:( >之前 <前> {" id ":“新”,“标题”:“New 文件”}, >之前 <前> {" id ": "打开”,“标题”:“打开文件"}, >之前 <前> {" id ": "关闭”、“标题”:“关闭文件"} >之前 <前> ] >之前 <前> “错误”:[] >之前 <前> }}},& # 39;& # 39;” >之前 <前> JsonSlurper , slurper ,=,,新的,JsonSlurper () >之前 <前> 映射,parsedJson ,=,, slurper.parseText (jsonString) >之前 <前> 导入groovy。杰森.JsonSlurper >之前 <前>
>之前 <前> String , jsonString ,=,, & # 39; & # 39; & # 39;{"菜单":{ >之前 <前> “id”:“文件”, >之前 <前> “工具":{ >之前 <前> “行动”:( >之前 <前> {" id ":“新”,“标题”:“New 文件”}, >之前 <前> {" id ": "打开”,“标题”:“打开文件"}, >之前 <前> {" id ": "关闭”、“标题”:“关闭文件"} >之前 <前> ] >之前 <前> “错误”:[] >之前 <前> }}},& # 39;& # 39;” >之前 <前> JsonSlurper , slurper ,=,,新的,JsonSlurper () >之前 <前> 映射,parsedJson ,=,, slurper.parseText (jsonString) >之前
<强> parsedJson >强
解析 JsonSlurper文档。
<强> id >强
<前> String , idValue ,=, parsedJson。菜单.ID >之前 <前> String , idValue2 ,=, parsedJson。得到(“菜单”),得到(" id ") >之前
<强> parsedJson >强 地图& lt;字符串,地图& lt;对象,对象?的 得到
<前> 进口com。公里。卡塔隆。核心.util.KeywordUtil >之前 <前>
>之前 <前> String , getSelectedKey ,=, parsedJson。菜单.ID >之前 <前>
>之前 <前> 如果(getSelectedKey ,==,, null) { >之前 <前> KeywordUtil.markFailed (“Key not 现在”) >之前 <前> } >之前 <前> 这,是,一个,简单的,检查,为,空,安康;,如果,在,给定的,关键,是,没有,找的到,空,时,返回。但是,,有,是,一个,特殊的,情况下,,当,这个,代码,赢得“T工作,也就是说,如果关键的“ID”有null值在你的JSON。对于这种情况,您应该使用更强大的代码: