微信小程序:页面跳转url传参,对象数据过长报错

小程序A页面跳转B页面通过url传参时,若参数为对象(字典)需要先转成字符串(使用用JSON.stringify()转换成字符串)B页面在用JSON.parse()再转换回对象(字典)。
但是这样的传参方式遇到一个问题,对象数据长度过大时B页面在用JSON.parse()会报错。

Unexpected end of JSON input

控制台打印查看问题是发现是,字符串长度超过限制,已经做截取(大致在45KB的数据量左右会被截取)导致数据转换回来时格式不对而报错。
这时可以再添加另一个API:
encodeURIComponent(JSON.stringify(obj))为跳转url时的转换方法。
JSON.parse(decodeURIComponent(options.obj))为接收参数页面的转换方法。

推荐阅读更多精彩内容