fastJosn序列化和反序列化学习

jopen 9年前

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"}]}