关于小程序读取Java返回Long类型id精度丢失的问题

在开发中遇到的问题,后端实体使用Long类型存储的分布式id前端小程序读取id与后端返回id不一致

解决方法1:后端解决

直接把后端Long类型换成String类型 问题解决

解决办法2:前端解决

res.data=handleResData(res.data)

通过正则查出加上字符串的双引号标识,然后进行JSON.parse()转回string

 


function handleResData(str){
    var _str = str
      for(var i = true;i == true;){
          var i = /[:][0-9]{18,}[,]?/.test(_str) 
          if(i == true){
              var handlestr = /[:][0-9]{18,}[,]?/.exec(_str)
              var handlestr2 = /[0-9]{18,}/.exec(handlestr[0])
              _str = _str.replace(handlestr[0],':"'+handlestr2[0]+'",')
          }
      }
      _str = _str.replace(/[,][}]/g,'}')
      return JSON.parse(_str)
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值