正文:
在Groovy 1.8发布新闻中,提到Groovy增加了对JSON的支持。Dustin Marx在其博文中,讲述了这一功能的使用。
用法真的很简单,创建一个JSON对象:
1234567import
groovy.json.JsonBuilder
def
json =
new
JsonBuilder()
json.state{
capital
"Denver"
majorCities
"Denver"
,
"Colorado Springs"
,
"Fort Collins"
}
println
json
看看结果!是不是很简单!在Debug的时候,查看一个n长的JSON字符串是件很痛苦的事情。不用担心,Groovy已经想到了!它提供了JsonOutput.prettyPrint(String)方法,直接以树型输出JSON字符串:
123import
groovy.json.JsonOutput
//JsonBuilder也有类似的方法,JsonBuilder.toPrettyString(),效果相同
println
JsonOutput.prettyPrint(json.toString())
是不是可读性很好?
凡是用过XmlSlurper的人都会被它解析XML文件的方便性所吸引,对于JSON文件,Groovy同样提供了一个解析器:JsonSlurper,用法如下:
1234567891011121314151617//states.js
{
"state"
: {
"capital"
:
"Denver"
,
"majorCities"
: [
"Denver"
,
"Colorado Springs"
,
"Fort Collins"
]
}
}
//解析代码
import
groovy.json.JsonSlurper
def
jsonPayload =
new
File(
"states.js"
).text
def
slurper =
new
JsonSlurper()
def
states = slurper.parseText(jsonPayload)
之后可通过诸如:states.state或者states.state.name访问属性值。强强联合,果然与众不同!:)
关于示例中更多详细代码,请参见原文。