解决微信小程序报错:“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 ) );
相关推荐
恋猫de小郭5 分钟前
Firebase 如何让全球 Android 和 Flutter 开发者集体 Build Fail
android·前端·flutter
墨白曦煜5 分钟前
智能体架构范式总结(React、Plan-And-Solve、Reflection)
前端·react.js·前端框架
qq_426003969 分钟前
多语言新增语种全量测试策略的测试范围
前端·javascript·python·自动化
frjc20 分钟前
Node.js 与 npm 极简安装教程
前端·npm·node.js
IMPYLH21 分钟前
HTML 的 <main> 元素
前端·html
深念Y23 分钟前
微服务抽取路线图:从胖单体到 ARM 集群
前端·arm开发·数据库·后端·微服务·云原生·架构
迷迭香yy28 分钟前
A股数据本地存储方案对比JSON、SQLite、ClickHouse、DuckDB怎么选 IG50免费开源股票数据API接口
clickhouse·sqlite·json
雪芽蓝域zzs40 分钟前
Vue3 + Vite本地模拟数据(读取 JSON 数据)
前端
亿元程序员42 分钟前
还有高手?用Shader让图片中的3D圆环转起来!
前端
灯澜忆梦44 分钟前
【基于GO的Web开发14】gin请求重定向
前端·后端·golang·gin