-
Long类型数据太长,而 Java 序列化成 JSON时候,丢失精度
后台数据:1122334455667788991
前端收到:1122334455667788900在SpringBoot项目中,可以添加如下代码:
@EnableWebMvc @Configuration public class WebDataConvertConfig extends WebMvcConfigurerAdapter { public void configureMessageConverters(List<HttpMessageConverter<?>> 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); objectMapper.registerModule(simpleModule); jackson2HttpMessageConverter.setObjectMapper(objectMapper); converters.add(jackson2HttpMessageConverter); } }
-
Jackson 使用遇到 Unrecognized field, not marked as ignorable
出现该问题的原因时json中包含了目标java对象中不存在的属性。
解决办法:在目标对象的类上上标注@JsonIgnoreProperties(ignoreUnknown = true)
JSON序列化相关问题
最新推荐文章于 2023-06-12 19:41:17 发布