相關Jar包:
- jackson-annotations-2.9.8.jar
- jackson-core-2.9.8.jar
- jackson-databind-2.9.8.jar
核心內容
jackson核心對象
ObjectMapper mapper = new ObjectMapper();
常用方法:
1.對象轉JSON
- writeValue(參數1, obj)
參數1:
File:將obj對象轉換爲json字符串,並保存到指定的文件中
Writer:將obj對象轉換爲json字符串,並將json數據填充到字符輸出流中
OutputStream:將obj對象轉換爲json字符串,並將json數據填充到字節輸出流中- writeValueAsString(obj):將對象轉換爲json字符串
2.JSON轉對象
- readValue(String content, Class valueType)
content:json字符串
valueType:要轉換的Java對象類型(如:Person.class)
對象轉JSON
- Java基本對象轉JSON
public void test1() throws Exception {
// 1.創建person對象
Person p1 = new Person();
p1.setName("Lisa");
p1.setAge(15);
p1.setGender(0);
// 2.創建Jackson核心對象ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 3.調用方法進行轉換
String json = mapper.writeValueAsString(p1);
System.out.println(json); // {"name":"Lisa","age":15,"gender":0}
}
- list轉JSON
public void test2() throws Exception {
// 1.創建person對象
Person p1 = new Person();
p1.setName("Lisa");
p1.setAge(20);
p1.setGender(0);
Person p2 = new Person();
p2.setName("Lily");
p2.setAge(18);
p2.setGender(0);
Person p3 = new Person();
p3.setName("Harry");
p3.setAge(22);
p3.setGender(1);
ArrayList list = new ArrayList();
list.add(p1);
list.add(p2);
list.add(p3);
// 2.創建Jackson核心對象ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 3.調用方法進行轉換
String json = mapper.writeValueAsString(list);
System.out.println(json);
// [{"name":"Lisa","age":20,"gender":0},{"name":"Lily","age":18,"gender":0},{"name":"Harry","age":22,"gender":1}]
}
- map轉JSON
public void test3() throws Exception {
// 1.創建map並保存數據
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "Lisa");
map.put("age", 18);
map.put("gender", 0);
// 2.創建Jackson核心對象ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 3.調用方法進行轉換
String json = mapper.writeValueAsString(map);
System.out.println(json); // {"gender":0,"name":"Lisa","age":18}
}
JSON轉對象
- JSON轉Java基本對象
public void test4() throws Exception {
// 1.創建json字符串
String json = "{\"name\":\"Lisa\",\"age\":18,\"gender\":0}";
// 2.創建Jackson核心對象ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 3.調用方法進行轉換
Person person = mapper.readValue(json, Person.class);
System.out.println(person); // Person{name='Lisa', age=18, gender=0}
}
- JSON轉list
public void test5() throws Exception {
// 1.創建json字符串
String json = "[{\"name\":\"Lisa\",\"age\":20,\"gender\":0},{\"name\":\"Lily\",\"age\":18,\"gender\":0}]";
// 2.創建Jackson核心對象ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 3.調用方法進行轉換
List list = mapper.readValue(json, List.class);
System.out.println(list);
//[{name=Lisa, age=20, gender=0}, {name=Lily, age=18, gender=0}]
}
- JSON轉map
public void test6() throws Exception {
// 1.創建json字符串
String json = "{\"name\":\"Lisa\",\"age\":20,\"gender\":0}";
// 2.創建Jackson核心對象ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 3.調用方法進行轉換
Map map = mapper.readValue(json, Map.class);
System.out.println(map);
// {name=Lisa, age=20, gender=0}
}