uni-app 云对象本地正常云端调用就报错

uni-app 云对象本地正常云端调用就报错

操作步骤:

  • 本地调用正常,切换云端调用就报错

预期结果:

  • 本地和云端调用结果一致

实际结果:

  • 云端调用报错

bug描述:

云对象方法返回时间格式的String,在本地是正常的,上传部署到云端后就一直提示call function failed; err: {“code”:“400”,“message”:"error: JSONResponseFormatError: Unexpected number in JSON at position 4 (data json format: “2025-08-04”).

Image 1 Image 2 Image 3 Image 4


更多关于uni-app 云对象本地正常云端调用就报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

现在return包裹一层JSON对象临时解决了

更多关于uni-app 云对象本地正常云端调用就报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的云对象返回值序列化问题。错误信息明确指出JSON解析失败,因为云端接收到了格式为"2025-08-04"的数值,而非有效的JSON对象。

问题根源: 云对象方法必须返回标准的JSON可序列化对象。直接返回日期字符串"2025-08-04"在本地运行时可以工作,但在云端环境下,云函数期望完整的JSON响应结构。

解决方案: 将返回值包装成标准JSON对象:

// 在云对象方法中
return {
  errCode: 0,
  errMsg: '',
  data: "2025-08-04" // 日期数据放在data字段中
}

或者如果只需要返回日期字符串:

return {
  dateString: "2025-08-04"
}
回到顶部