解决微信小程序报错:“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 ) );
相关推荐
Momo__40 分钟前
Vite 8.1 打包开发模式——10000 组件冷启动 15 倍,"No Bundle Dev" 七年后被自己终结
前端·vue.js·vite
YHL43 分钟前
🤖 Agent 智能体开发实战 · 第一课:Tool Use —— 让大模型自动干活
前端·javascript·人工智能
Monki44 分钟前
AI 规范式 UI 设计,一键批量出页,高效落地不翻车
前端
山河木马1 小时前
渲染管线-计算得到gl_FragColor(片元着色器)之后续GPU流程
前端·webgl·计算机图形学
不想说话的麋鹿1 小时前
「项目实战」我用 Codex + GPT-5.5 + Trellis "氛围编程",独立做了一个情侣厨房小程序
前端·agent·全栈
接着奏乐接着舞。2 小时前
【2026年7月最新】69道RAG面试题
前端·人工智能·后端·aigc·embedding·rag
以和为贵2 小时前
前端也能搞懂 Agent:从 Function Calling 到自主编排
前端·人工智能·架构
风止何安啊2 小时前
🚦 前端并发请求 “交通管制”:别让你的接口堵成早高峰
前端·javascript·面试
J船长2 小时前
扫盲烂笔头:A 记录、CNAME 的作用, Nginx的用途,为啥叫反向代理
前端
PixelBai3 小时前
什么是 JSON 验证工具?
json