营销型网站的例子,淘宝网官网登录首页,百度官网首页登录入口,乐清定制网站建设第一种#xff1a;使用注解解决 使用方便简单#xff0c;粒度高#xff0c;适用于部分字段需要单独转换的场景#xff0c;灵活度高 // 两种注解#xff0c;选其一即可
// JsonFormat(shape JsonFormat.Shape.STRING)
JsonSerialize(using ToStringSerializer.class)
pri…第一种使用注解解决 使用方便简单粒度高适用于部分字段需要单独转换的场景灵活度高 // 两种注解选其一即可
// JsonFormat(shape JsonFormat.Shape.STRING)
JsonSerialize(using ToStringSerializer.class)
private Long largeId 1332345432341123411L;第二种直接对SimpleModule对象配置避免其他地方的Jackson配置被覆盖的问题
Configuration
public class JsonModuleConfig extends SimpleModule {public JsonModuleConfig() {//super(JsonModuleConfig.class.getName());this.addSerializer(Long.class, ToStringSerializer.instance);this.addSerializer(Long.TYPE, ToStringSerializer.instance);}
}
第三种通过 WebMvcConfigurer 配置转换规则 会根据扫描到的配置类顺序加载如果匹配到第一个则放弃后续的配置所以自己的框架如果有配置Jackson配置的话使用这个方法会导致原有配置被覆盖 注意如果项目使用了的是自己的框架这里的配置可能会引起自己框架配置的jackson失效 EnableWebMvc
Configuration
public class WebDataConvertConfig implements WebMvcConfigurer {public void configureMessageConverters(ListHttpMessageConverter? converters) {MappingJackson2HttpMessageConverter jackson2HttpMessageConverter new MappingJackson2HttpMessageConverter();ObjectMapper objectMapper new ObjectMapper();/*** 序列换成json时,将所有的long变成string* 因为js中得数字类型不能包含所有的java long值*/SimpleModule simpleModule new SimpleModule();simpleModule.addSerializer(Long.class, ToStringSerializer.instance);simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);// 反序列化时忽略多余字段objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);// 注册objectMapper.registerModule(simpleModule);jackson2HttpMessageConverter.setObjectMapper(objectMapper);converters.add(jackson2HttpMessageConverter);}
}https://www.cnblogs.com/suhai/p/14973865.html