fastJosn序列化和反序列化学习

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

fastjson中最重要的就是序列化和反序列化,我们来学习fastjson是如何实现序列化和反序列化的。

1.定义json格式:

{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}
2.建立与之对应的javabean

Group.java

public class Group {

    private Long       id;
    private String     name;
    private List<User> users = new ArrayList<User>();

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<User> getUsers() {
        return users;
    }

    public void setUsers(List<User> users) {
        this.users = users;
    }
}
public class User {

    private Long   id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3.建立对应关系以后,就可以通过JSON来完成序列化和反序列化操作。

String jsonString = {/"id/":0,/"name/":/"admin/",/"users/":[{/"id/":2,/"name/":/"guest/"},{/"id/":3,/"name/":/"root/"}]};
//序列化
Group group = JSON.parseObject(jsonString, Group.class);
//获取元素的值
System.out.println(group.getName());
//获取数组中第一个元素的值
System.out.println(group.getUsers().get(0).getName());
//反序列化
System.out.println(JSON.toJSONString(group));

执行结果:

admin
guest
<pre name="code" class="html">{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]} 

 
 

你可能感兴趣的:(json,fastjson)