java - spring boot返回json数据时long类型数据失真
大家讲道理
大家讲道理 2017-04-18 10:27:00
0
4
799

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

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

大家讲道理
大家讲道理

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

Antworte allen(4)
巴扎黑

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

Peter_Zhu

和这个问题类似 传送门。

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

Peter_Zhu

自定义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两边加上"就可以了。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage