后端json对象传给前端 属性转换
时间: 2023-10-31 18:22:38 浏览: 87
后端传给前端的 JSON 对象中,有时候需要对属性进行转换,例如将 Java 对象中的 Date 类型属性转换为 String 类型,或者将属性名从驼峰式命名转换为下划线命名等。
常用的属性转换方式有两种:
1. 使用 Jackson 提供的注解 @JsonProperty 来指定属性名,例如:
public class User {
@JsonProperty("user_id")
private Long userId;
private String username;
private Date birthday;
// 省略 getter 和 setter 方法
}
在将 User 对象转换为 JSON 字符串时,userId 属性会被转换为 "user_id" 字段名。
2. 自定义一个属性转换器,例如:
public class DateToStringConverter extends JsonSerializer<Date> {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeString(dateFormat.format(date));
}
}
然后在需要进行转换的属性上使用 @JsonSerialize 注解指定转换器,例如:
public class User {
private Long userId;
private String username;
@JsonSerialize(using = DateToStringConverter.class)
private Date birthday;
// 省略 getter 和 setter 方法
}
在将 User 对象转换为 JSON 字符串时,birthday 属性会被转换为 yyyy-MM-dd HH:mm:ss 格式的字符串。
阅读全文