使用Fastjson和Springboot的Converter对全局Long类型统一序列化为字符串类型
直接上代码:
序列化类:
public class Serialize2String implements ObjectSerializer { public static final Serialize2String instance = new Serialize2String(); @Override public void write(JSONSerializer jsonSerializer, Object o, Object o1, Type type, int i) { if (o == null) { jsonSerializer.out.writeNull(); return; } jsonSerializer.out.writeString(o.toString()); } }
全局序列化配置:
@Configuration public class LocalConfig implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); SerializeConfig serializeConfig = SerializeConfig.getGlobalInstance(); serializeConfig.put(Long.class, Serialize2String.instance); serializeConfig.put(Long.TYPE, Serialize2String.instance); converter.setFastJsonConfig(fastJsonConfig); converters.add(converter); } }