调用Uber Eats API拒单时遇400错误:JSON解析失败
解决Uber Eats拒单接口JSON解析错误(400 Bad Request)
问题诊断
从错误日志ReadString: expects " or n, but found 4可以明确:接口期望client_error_code是字符串类型,但你传入的是整数。尽管官方文档标注该字段为整数,实际接口的JSON解析逻辑要求它是字符串格式。
修复方案
把请求体中所有的client_error_code值从整数408改为字符串"408",修改后的请求体如下:
{ "deny_reason": { "info": "Item is not available", "type": "ITEM_ISSUE", "client_error_code": "408", "item_metadata": { "invalid_item": [ { "id": "2022", "type": "NOT_ON_MENU", "client_error_code": "408", "info": "Broken oven.", "external_id": "chz_piz_18" } ] } } }
额外建议
- 测试时可先用Postman等工具发送修改后的请求,确认接口响应正常后再集成到系统中
- 后续遇到类似字段解析问题,优先对照错误提示判断字段类型是否匹配,有时文档和实际接口实现会存在不一致
内容的提问来源于stack exchange,提问作者Towsif Ahamed Labib
相关产品推荐
相关产品推荐

