1、导包
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.1</version>
</dependency>
2、使用
把Java对象——>json字符串
ObjectMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(user);
User user = new User();
user.setUsername("admin");
user.setPassword("admin123");
ObjectMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(user);
System.out.println(s);
json字符串——>java对象
String jsonStr = "{\"username\":\"admin\",\"password\":\"admin123\"}";
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(jsonStr, User.class);
System.out.println(user);
json字符串里面是数组,——>java集合对象
String jsonStr = "[{\"username\":\"admin\",\"password\":\"admin123\"},{\"username\":\"sss\",\"password\":\"dddd\"}]";
ObjectMapper mapper = new ObjectMapper();
//类型的工厂
TypeFactory typeFactory = mapper.getTypeFactory();
//形参是集合类型,集合内的数据类型
CollectionType type = typeFactory.constructCollectionType(List.class, User.class);
List<User> o = mapper.readValue(jsonStr, type);
for (User user : o) {
System.out.println(user);
}
//User user = mapper.readValue(jsonStr,);
//System.out.println(user);