fastJosn序列化和反序列化学习
jopen
10年前
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"}]}