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

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

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

大家讲道理
大家讲道理

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

全部回覆(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兩邊加上"就可以了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板