0
点赞
收藏
分享

微信扫一扫

解决Java Long类型转为Json后,前台Js调用精度丢失问题

艾晓雪 2024-02-25 阅读 11
jsonjava

问题描述:
        当实体类中的字段为Long类型,且值超过前端js显示的长度范围时会导致前端回显错误。
        后端JSON字符串{“id”: 1540951455810646018, “name”: “张三”, …},前端通过data.id获取id时,id的值变成了1540951455810646000,id的位数精度缺失了。
 

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.jackson.JsonComponent;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;

/**
 * Spring MVC Json 配置
 */
@JsonComponent
public class JsonConfig {

    /**
     * 添加 Long 转 json 精度丢失的配置
     */
    @Bean
    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
        SimpleModule module = new SimpleModule();
        module.addSerializer(Long.class, ToStringSerializer.instance);
        module.addSerializer(Long.TYPE, ToStringSerializer.instance);
        objectMapper.registerModule(module);
        return objectMapper;
    }
}


 

举报

相关推荐

0 条评论