51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

springboot Long类型json转换丢失精度

# springboot Long 类型 json 转换丢失精度 {#springboot-long-类型-json-转换丢失精度}

本文讲述"springboot 项目 Long 类型数据做 json 转换后丢失精度"的解决方案。实际上这句话描述得并不准确,实际上是因为前端的 javascript 的整数类型的存储范围有限, 当接口返回的 Long 类型数据长度过大时, javascript 会进行截断,导致我们在前端页面上看到的数据丢失了精度。解决方法为接口的响应数据中,将 Long 类型转换为 String 类型。

处理方法:增加 1 个配置类即可。

# 创建配置类文件 {#创建配置类文件}

package com.ruiboyun.facehr.config;

import com.fasterxml.jackson.annotation.JsonInclude; 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;

/**

  • json序列化配置 */ @JsonComponent public class JsonSerializerConfig {

    @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; } }

赞(6)
未经允许不得转载:工具盒子 » springboot Long类型json转换丢失精度