怎么使用JsonSerialize调整序列化字段类型?

1,161次阅读
没有评论

共计 542 个字符,预计需要花费 2 分钟才能阅读完成。

1.前言

Jackson作为Springboot默认的序列化反序列化组件,用的非常广泛。有时候我们需要在不改变原有数据字段类型的前提下,修改序列化后的字段类型,这时候自定义序列化规则就派上用场了。

怎么使用JsonSerialize调整序列化字段类型?

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序列化字段类型,在特定场景下非常适用!

正文完
 
mysteriousman
版权声明:本站原创文章,由 mysteriousman 2022-04-28发表,共计542字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)