package baselib.cunyt.cn.common.mvc;
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.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import java.math.BigInteger;
/**
* 解决java Long转json精度丢失的问题
*
* @author wupeiguo
*/
@Configuration
public class ApiMvcConfiguration {
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)
{
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
// 全局配置序列化返回 JSON 处理
SimpleModule simpleModule = new SimpleModule();
//JSON Long ==> String
//超长整
simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);
//长整
simpleModule.addSerializer(Long.class,ToStringSerializer.instance);
//长整
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
return objectMapper;
}
}
解决java Long转json精度丢失的问题、MVC 返回前端的 long 类型数据转换为 String 数据
最新推荐文章于 2024-12-12 23:49:46 发布
本文介绍了一种解决Java中Long类型转换为JSON时出现的精度丢失问题的方法。通过配置Spring Boot项目的ObjectMapper,使用ToStringSerializer将Long及BigInteger类型的数据序列化为字符串形式,确保了JSON数据的准确性。

1541

被折叠的 条评论
为什么被折叠?



