Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。功能非常的强悍!
输出
把java对象转换成了json字符串,就用了 objectMapper. writeValueAsString(object) 这样一个方法,很简单方便。
1.maven导入jar包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.6</version>
</dependency>
这样就导入了jackson的三个jar包
jackson-databind-2.8.6.jar,jackson-core-2.8.6.jar,jackson-annotations-2.8.6.jar
2.用objectMapper.writeValueAsString(object),把 Object对象转换成json字符串
/**
* Object转换成json字符串
* @author Administrator
*
*/
public class Test1 {
public static void main(String[] args) throws Exception{
Student st = new Student();
st.setAge("23");
st.setName("Lucy");
ObjectMapper mapper = new ObjectMapper();
String aa = mapper.writeValueAsString(st);
System.out.println(aa);
Teacher t = new Teacher();
t.setId("223");
User u = new User();
u.setId("33");
u.setName("Mark");
t.setUser(u);
String b = mapper.writeValueAsString(t);
System.out.println(b);
}
输出
{"name":"Lucy","age":"23"}
{"id":"223","user":{"id":"33","name":"Mark"}}
把java对象转换成了json字符串,就用了 objectMapper. writeValueAsString(object) 这样一个方法,很简单方便。
3.用objectMapper.readValue(byte[] src, Class<T> valueType);把json字符串转换成java对象
也可以用objectMapper.readValue(String content, Class<T> valueType);转换成byte[],可以预防乱码之类的。
/**
* json装换成Object对象或其他bean
* @author Administrator
*
*/
public class Test2 {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper ma = new ObjectMapper();
String a = "{\"id\":\"223\",\"user\":{\"id\":\"33\",\"name\":\"Mark\"}}";
Object o = ma.readValue(a, Object.class);
System.out.println(o);
String b = "{\"id\":\"223\",\"user\":{\"id\":\"33\",\"name\":\"张小花\"}}";
Teacher th = ma.readValue(b.getBytes("UTF-8"), Teacher.class);
System.out.println(th);
}
}