共计 542 个字符,预计需要花费 2 分钟才能阅读完成。
1.前言
Jackson作为Springboot默认的序列化反序列化组件,用的非常广泛。有时候我们需要在不改变原有数据字段类型的前提下,修改序列化后的字段类型,这时候自定义序列化规则就派上用场了。
2.如何自定义序列化规则
我们只需要实现JsonSerializer就可以,假设我们需要将某个字符串类型字段序列化成为布尔类型,首先自定义规则
public class StringToBooleanSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeBoolean(Boolean.parseBoolean(value));
}
}
应用我们的规则
@JsonSerialize(using = StringToBooleanSerializer.class)
这时候只有为’true’的字符串会被序列化为布尔类型的true,其余都会序列化为布尔值false,是不是很方便!
3.小结
本文简述了如何调整Jackson序列化字段类型,在特定场景下非常适用!
正文完