Groovy中对Json的操作

Groovy中对Json的操作

我们以一个List 为例,把它转成json,在转为List

实体类:

class Person {

    String name
    int age

    def eat() {
        println "${name} 在吃饭"
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

对象转Json

List转为Json和简单,只需要使用groovy.json包下的JsonOutput类即可

def list = [new Person(name: 'YangHang', age: 25)
            , new Person(name: 'YangKunZe', age: 24)]

// 对象转成Json
def json = JsonOutput.toJson(list)
println JsonOutput.prettyPrint(json)

如上,我们就可以把一个集合转成Json形式,并格式化打印。

Json转对象

同理,我们需要使用groovy.json包下的JsonSlurper类即可

// Json转成对象
JsonSlurper jsonSlurper = new JsonSlurper()
def l = jsonSlurper.parseText(json)
assert l instanceof ArrayList
l.eachWithIndex { Object entry, int i ->
    def p = new Person(entry)
    l[i] = p
}

println l

这里有一个主意,Groovy并不知道集合里面装的对象是什么类型的,所以他会当成map,我们需要把map转成object

在这里插入图片描述

发布了156 篇原创文章 · 获赞 19 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/qq_36929361/article/details/104242748