Groovy创建和解析json

正文: 

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访问属性值。强强联合,果然与众不同!:)

关于示例中更多详细代码,请参见原文

转自:https://www.google.com.hk/search?newwindow=1&safe=strict&espv=210&es_sm=93&q=groovy+%E8%A7%A3%E6%9E%90json&oq=groovy+%E8%A7%A3%E6%9E%90json&gs_l=serp.3..0i30.389129.394000.0.394583.17.14.0.3.3.0.131.1157.9j4.13.0....0...1c.1j4.32.serp..1.16.1164.SsAdCPkBEjY

原文地址:https://www.cnblogs.com/smallrock/p/3514841.html