简介:
Jackson是一个流行的基于Java的JSON处理框架
官方wiki:
官方文档:
学习参考:Json转换利器Gson之实例系列,顺便也学习一下GSON
本篇简介如何使用Jackson进行Java对象与JSON的互相转换
新建基本Student类:
package com.jingshou.pojo; import java.util.Date; public class Student { private int id; private String name; private Date birthDay; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthDay() { return birthDay; } public void setBirthDay(Date birthDay) { this.birthDay = birthDay; } @Override public String toString() { return "Student [birthDay=" + birthDay + ",,]"; } }班级类:
package com.jingshou.pojo; import java.util.List; public class Class { private String cname; private List<Student> members; public String getCname() { return cname; } public void setCname(String cname) { this.cname = cname; } public List<Student> getMembers() { return members; } public void setMembers(List<Student> members) { this.members = members; } public String toString(){ return "The Class Name is: " + cname + " " + "The members are: " + members; } }测试代码:
package com.jingshou.jackson; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.fasterxml.jackson.databind.ObjectMapper; import com.jingshou.pojo.Class; import com.jingshou.pojo.Student; public class JacksonTest1 { public static void main(String[] args) throws IOException { Student student1 = new Student(); student1.setId(5237); student1.setName("jingshou"); student1.setBirthDay(new Date()); ObjectMapper mapper = new ObjectMapper(); // Convert object to JSON string String Json = mapper.writeValueAsString(student1); System.out.println("Change Object to JSON String: " + Json); // Convert Json string to Object Student student2 = mapper.readValue(Json, Student.class); System.out.println(student2); // Create a student list add it to Bj Student student3 = new Student(); student3.setId(5117); student3.setName("saiya"); student3.setBirthDay(new Date()); List<Student> stuList = new ArrayList<Student>(); stuList.add(student1); stuList.add(student3); Class bj = new Class(); bj.setCname("五年二班"); bj.setMembers(stuList); String json2 = mapper.writeValueAsString(bj); System.out.println("The JSON from Class is: " + json2); Class bj2 = mapper.readValue(json2, Class.class); System.out.println(bj2); } }运行结果:
Change Object to JSON String: {"id":5237,"name":"jingshou","birthDay":1389513906622} Student [birthDay=Sun Jan 12 16:05:06 CST 2014, id=5237, name=jingshou] The JSON from Class is: {"cname":"五年二班","members":[{"id":5237,"name":"jingshou","birthDay":1389513906622},{"id":5117,"name":"saiya","birthDay":1389513906859}]} The Class Name is: 五年二班 The members are: [Student [birthDay=Sun Jan 12 16:05:06 CST 2014, id=5237, name=jingshou], Student [birthDay=Sun Jan 12 16:05:06 CST 2014, id=5117, name=saiya]]小结: