`
leon1509
  • 浏览: 536202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)Groovy 1.8中的超炫JSON支持

阅读更多
http://www.groovyq.net/content/groovy-18%E4%B8%AD%E7%9A%84%E8%B6%85%E7%82%ABjson%E6%94%AF%E6%8C%81

在Groovy 1.8发布新闻中,提到Groovy增加了对JSON的支持。Dustin Marx在其博文中,讲述了这一功能的使用。

用法真的很简单,创建一个JSON对象:
import 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字符串:

import groovy.json.JsonOutput
//JsonBuilder也有类似的方法,JsonBuilder.toPrettyString(),效果相同
println JsonOutput.prettyPrint(json.toString())


是不是可读性很好?

凡是用过XmlSlurper的人都会被它解析XML文件的方便性所吸引,对于JSON文件,Groovy同样提供了一个解析器:JsonSlurper,用法如下:
//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访问属性值。强强联合,果然与众不同!:)

关于示例中更多详细代码,请参见原文(http://marxsoftware.blogspot.com/2011/05/groovy-18-introduces-groovy-to-json.html)。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics