// Maven配置
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
@JsonIgnore:不序列化该字段
@JsonFormat:设定Json格式
@JsonProperty:设定Json的key名称
// 实体类
public class User {
private String name;
@JsonIgnore // 不序列化该字段
private Integer age;
@JsonFormat(pattern = "yyyy年MM月dd日") // 序列化格式
private Date birthday;
@JsonProperty("邮箱") // 序列化名称
private String email;
...
}
writeValueAsString:将对象转换为String格式的Json
writeValue:将对象写入文件中
readValue:从文件或者String中读取,转换为对象
// 操作
public class Main {
public static void main(String[] args) throws ParseException, IOException {
User user = new User("zhangsan", 19, new SimpleDateFormat("yyyy-MM-dd").parse("1997-12-31"), "13");
ObjectMapper om = new ObjectMapper();
String json = om.writeValueAsString(user);
System.out.println("json: " + json);
User user2 = om.readValue(json, User.class);
System.out.println(user2);
om.writeValue(new File("./user.json"), user);
User user3 = om.readValue(new File("./user.json"), User.class);
System.out.println(user3);
}
}