在微信小程序的开发中,页面之间的跳转传参是非常常见的。一般参数较少的时候,这样的传参方式很简单。但是有的时候,我们需要传递的参数可能是一个对象,但是这个对象属性很多, 通常的做法是需要先转成字符串(使用用JSON.stringify()转换成字符串)B页面在用JSON.parse()再转换回对象。但是这样的传参方式遇到一个问题,对象数据长度过大时B页面在用JSON.parse()会报错。
Unexpected end of JSON input
解决办法也很简单如下:
A页面传参时:encodeURIComponent(JSON.stringify(obj))为跳转url时的转换方法。
B页面接收参数时:JSON.parse(decodeURIComponent(options.obj))为接收参数页面的转换方法。