解决微信小程序报错:“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 ) );
相关推荐
sugar__salt8 分钟前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
郝亚军22 分钟前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
SmartBoyW27 分钟前
CSS弹性布局(Flexbox)学习笔记:从零开始搞懂弹性布局
前端·javascript
用户693717500138429 分钟前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
嘟嘟071731 分钟前
搞懂 useState 从原生 DOM 到 React 惰性初始化的完整链路
前端·react.js·编程语言
牧艺31 分钟前
cos-design RippleWater & SmokeFog:水面涟漪与烟雾雾气怎么做
前端·canvas·视觉设计
用户938515635071 小时前
写了这么久 useState,你真的知道它在干什么吗?
前端·javascript
慢功夫1 小时前
💡第七篇:VSCode语言服务中,代码跳转和诊断是怎么做的?
前端·visual studio code
Csvn1 小时前
✨ TypeScript `satisfies` 操作符实战——5 个让代码更「聪明」的生产场景
前端
Healer9181 小时前
vue3页面缓存-keepAlive
前端