recherche

Maison  >  Questions et réponses  >  le corps du texte

java - spring boot返回json数据时long类型数据失真

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

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

大家讲道理大家讲道理2767 Il y a quelques jours801

répondre à tous(4)je répondrai

  • 巴扎黑

    巴扎黑2017-04-18 10:29:00

    Changez le type d'identifiant en String et effectuez la conversion entre Long et String pendant le traitement.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:29:00

    Semblable à cette question sur le portail.

    Si cela ne répond pas à vos besoins, vous devez personnaliser vous-même une méthode de sérialisation Gson.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:29:00

    Personnalisez ObjectMapper, qui convertira automatiquement le type Long en chaîne et l'enverra au front-end

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

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:29:00

    (1) Si le type acId peut être modifié, remplacez-le par string.
    Si l'implémentation du type acId ne peut pas être modifiée. (2) Méthode 1, redéfinissez un javabean, mais changez le type acId en chaîne.
    (3) Méthode 2, traitez à nouveau la chaîne gson et ajoutez "" des deux côtés de 24768209282400257.

    répondre
    0
  • Annulerrépondre