当JSON.stringify(json)和JSON.parse(json)相互转换报错

报错的返回:Error in onLoad hook: "SyntaxError: Unexpected end of JSON input"

原因:使用JSON.stringify(json)把json转换为字符串的时候,然后通过链接带到另一个页面的时候,由于字段太长,导致字符串丢失,JSON.parse(json)无法转换回来而报错

解决方法:1、在传值页面,转换成字符串之后,也就是JSON.stringify(json)之后,要再进行一步用encodeURIComponent 编码

bg_btn(){
	let that =this;
	let fileList = JSON.stringify(that.fileBox)
	uni.navigateTo({
		url: '/pages/book/addBook?fileList='+encodeURIComponent(fileList)
	})
},

2、接收页:先转换 decodeURIComponent(data),然后在 JSON.parse() 取得json数据 赋值即可

onLoad(options) {
	let fileList = decodeURIComponent(options.fileList)
	this.fileList = JSON.parse(fileList);
},

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值