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); }}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。













闽公网安备 35020302000061号