解决微信小程序报错:“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 ) );
相关推荐
爱勇宝4 分钟前
用了一个月 WorkBuddy,聊聊我的真实感受
前端·后端·程序员
愛芳芳16 分钟前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue
liyinchi198817 分钟前
微信小程序支付遇到“由于小程序违规,支付功能暂时无法使用” 解决办法
java·微信小程序·go
你别说话了39 分钟前
Vue实现高效拖拽效果 vue-Draggable
前端·vue.js
万物智能1 小时前
PWM散热风扇设置—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
前端·后端·算法
前端柱子1 小时前
q-floodfill白边锯齿?一招搞定抗锯齿边缘问题
前端
阿虎儿1 小时前
我的 HTML 样板(HTML Boilerplate)
前端·html
Amos_Web1 小时前
Rspack 源码解析(八):Module、Chunk 与 Runtime ID
前端·rust·源码阅读
彭于晏分晏1 小时前
深入理解 Vue 3 响应式原理:从 Proxy 到依赖收集
前端
晚安日记wanna1 小时前
Vue3 script setup 的四层追问答到第三层才算过关
前端·vue.js·面试