简介:
Jackson是一个流行的基于Java的JSON处理框架
官方wiki:http://wiki.fasterxml.com/JacksonInFiveMinutes
官方文档:http://wiki.fasterxml.com/JacksonDocumentation
学习参考:?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 + ", id=" + id + ", name=" + name + "]"; } }
?班级类:
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"