# 小程序int类型过长(踩坑)

微信小程序 wx.request 后端返回数据超出类型安全范围, 后面两位变成00

# 遇到问题:

请求后端接口,发现返回的数据,商品的id被截断了,导致无法根据商品的id去获取商品详情,需要解决数据超出类型长度范围的问题。

xcooo

# 解决办法:


  • 1.联系后端,将接口返回的数据类型从 int 修改为 字符串 类型,这样就不会超出类型长度导致被截断了。

  • 2.使用一些 包装类型处理包,如npm包中的 json-bigint,将请求返回的数据进行包装,使用的时候转成字符串使用。

  • 3.使用数组进行分段处理,如下,使用时再转成拼接为字符串 xcooo

  • 4.采用正则,在JSON.parse之前将数值转换加上字符串双引号,这样就会解析成字符串了,如下图 xcooo

# 题外话:如果是单页面程序中使用axios请求则需要在axios处理返回数据之前将数据进行包装处理。

axios处理方法:解决Javascript的一个有关大整数的坑 (opens new window)

上次更新: 2020/10/27 下午11:58:10