<
>

springboot jackson自定义序列化和反序列化实例

2022-04-14 21:53:29 来源:易采站长站 作者:

目录
jackson自定义序列化和反序列序列化jsonSerializer最后请求http返回对象反序列化JsonDeserializer小结一下springboot 自定义序列化器

jackson自定义序列化和反序列

spingmvc使用httpmessageconverter接口来转换http请求和响应。

如果需要添加和自定义转换器,则可以使用spring boot的HttpMessageConverters类;任何存在于上下文中的HttpMessageConverter的ben都会被添加到转换器列表中。

如果想使用Jackson对json进行序列化和反序列化,则可能需要编写自己的JsonSerializer和JsonDeserializer类。使用spring boot的@JsonComponent注释。使用@JsonComponent注释会自动被注册到Jackson;

序列化JsonSerializer

首先继承JsonSerializer,重写Serialize函数

@JsonComponent   //此注释会自动将 Serialize和Deserializer注册到jackson之中。public class CustomeJackSon {    public static class Serialize extends JsonSerializer<Date>{        @Override        public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {            SimpleDateFormat _format = new SimpleDateFormat("yyyy-mm--dd");            String _dateStr =  _format.format(date);            jsonGenerator.writeString(_dateStr);        }    } }

然后在需要序列化的对象属性上添加注解@JsonSerialize(using = CustomeJackSon.Serialize.cl= new SimpleModule(); simpleModule.addSerializer(toStringSerializer); simpleModule.addSerializer(dateSerializer); jackson2HttpMessageConverter.getObjectMapper().registerModule(simpleMoQhXakdule); converters.add(jaQhXakckson2HttpMessageConverter); super.configureMessageConverters(converters); }}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

暂时禁止评论

微信扫一扫

易采站长站微信账号