7. Spring Boot中使用@JsonComponent
序列化
@Data
@AllArgsConstructor
public class User {
private Color favoriteColor;
}@JsonComponent
public class UserJsonSerializer extends JsonSerializer<User> {
@Override
public void serialize(User user, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException,
JsonProcessingException {
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField(
"favoriteColor",
getColorAsWebColor(user.getFavoriteColor()));
jsonGenerator.writeEndObject();
}
private static String getColorAsWebColor(Color color) {
int r = (int) Math.round(color.getRed() * 255.0);
int g = (int) Math.round(color.getGreen() * 255.0);
int b = (int) Math.round(color.getBlue() * 255.0);
return String.format("#%02x%02x%02x", r, g, b);
}
}反序列化
在同一个class中序列化和反序列化
最后更新于
这有帮助吗?