解决微信小程序报错:“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 ) );
相关推荐
breeze jiang13 小时前
ESLint flat config 配置实战:五大字段、规则严重级别与 --fix 能力边界详解
开发语言·前端·javascript
书中枫叶13 小时前
做了个「句拾」小程序,最难的不是业务,是字体
前端·javascript·vue.js
FFF_6345602314 小时前
简单的画板小工具,下载即用
前端·javascript·css
秋田君14 小时前
QT_JSON文件操作
开发语言·qt·json
嘟嘟071714 小时前
Next.js 里 SSR、CSR 和水合到底差在哪?从一段待办代码说起
前端·后端·next.js
南雨北斗14 小时前
回调地狱、jQuery jqXHR .then 链式、Promise + async/await写法对比
前端
liuxiaocheng14 小时前
快速上手:5 分钟跑通第一个 AI SDK 例子
前端·人工智能·后端
霹雳桃14 小时前
移动端 H5 折叠屏适配实战:为什么 max-width 没用,min(vw, px) 才是正解
前端·前端框架
Goodbye14 小时前
useContext 上下文与自定义 Hooks:跨层级数据共享的优雅方案
前端