解决微信小程序报错:“SyntaxError:Unexpected end of JSON input”

1. 报错原因:

如果对象的参数或数组的元素中遇到地址,地址中包括?、&这些特殊符号时,对象/数组先要通过JSON.stringify转化为字符串再通过encodeURIComponent编码;接收时,先通过decodeURIComponent解码再通过JSON.parse转换为JSON格式的对象/数组。
2. 正确的代码如下:

javascript 复制代码
// 传参时

let newObj = encodeURIComponent( JSON.stringify( obj ) );


// 接收参数时

let { newObj } = options;

let data = JSON.parse( decodeURIComponent( newObj ) );
相关推荐
海云前端116 小时前
如果要设计一个开源的Code EditorSDK,你会向开发者暴露哪些API?
前端
Access开发易登软件16 小时前
Access 数据可视化:如何制作箱形图
前端·数据库·vba·access·access开发
Tiramisu202316 小时前
【VUE】删除 node_modules几种高效方法
前端·javascript·vue.js
钰fly16 小时前
Windows Forms开发工具与功能总结表
前端·c#
共享家952716 小时前
测试常用函数(一)
java·前端·javascript
林恒smileZAZ16 小时前
vue对接海康摄像头-H5player
前端·javascript·vue.js
韩曙亮16 小时前
【Web APIs】移动端返回顶部案例 ( 返回顶部按钮 显示 / 隐藏 设置 | 返回顶部操作 )
前端·javascript·css·html·移动端·web apis·返回顶部
Cache技术分享16 小时前
279. Java Stream API - Stream 拼接的两种方式:concat() vs flatMap()
前端·后端
GDAL16 小时前
Tailwind CSS 响应式设计实战指南:从零搭建书签篮自适应页面
前端·css·tailwindcss·书签篮
L-岁月染过的梦16 小时前
前端使用JS实现端口探活
开发语言·前端·javascript