java - spring boot返回json数据时long类型数据失真
大家讲道理
大家讲道理 2017-04-18 10:27:00
[Java讨论组]

"id" : 24787807536939046,
"acId" : 24768209282400257,
"insertTime" : 1476957265000,
"lastUpdateTime" : 1476957265000,

这里返回的id,acid因为是long类型,如果数值太大在js里会失真,怎么在返回的时候让24787807536939046为string类型,通过注解

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
巴扎黑

把id的类型改为String,处理的时候做一下Long和String的转换。

天蓬老师

和这个问题类似 传送门。

如果不合需求就要自己自定义一个Gson的序列化方法了。

天蓬老师

自定义ObjectMapper,会自动把Long类型转成string到前端

public class CustomObjectMapper extends ObjectMapper {

    private static final long serialVersionUID = 3223645203459453114L;

    /**
     * 构造函数
     */
    public CustomObjectMapper() {
        super();
        SimpleModule simpleModule = new SimpleModule();
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
        registerModule(simpleModule);
}
伊谢尔伦

(1)如果acId类型可以改,就改为string。
如果acId类型实现不可以改的话。(2)方法一,重新定义一个javabean,只是acId类型改为string。
(3)方法二,把gson字符串再处理一下,把24768209282400257两边加上"就可以了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号