The Apache Groovy programming language - Parsing and producing JSON

Groovy 使用 JsonSlurper,JsonOutput 对象分别解析和生成JSon字符串,这一过程十分简便;

生成JSON字符串

groovy 使用 JsonOutput 将对象序列化为Json字符串;

class JSONHandle {
    static void main(String[] args){
        def jsonStr = JsonOutput.toJson([name:'assad',city:'Guangzhou',id:'237819321']);
        println(jsonStr);    
        //output:{"name":"assad","city":"Guangzhou","id":"237819321"}
        //防止中文字符乱码:
        //println(StringEscapeUtils.unescapeJava(jsonStr as String));    
    }
}

JsonOutput.toJson()方法还可以数字,布尔,字符,字符串,日期,Map,List,闭包等作为参数;

解析JSON字符串

groovy 使用 JsonSlurper 解析Json对象,将其生成一个相应的类;

class JSONHandle {
    static void main(String[] args){

        def jsonStr = '{"name":"assad","city":"Guangzhou","id":"237819321"}';    //json字符串
        def jsonSlurper = new JsonSlurper();                //创建 JsonSlurper 对象并解析文本
        def student = jsonSlurper.parseText(jsonStr);

        def name = student.name;             //通过访问对象属性的方式访问json元素;
        def city = student.city;
    }
}

对于JSON的构建还可以使用Groovy构造器的语法;