PHP CodeIgniter框架RestAPI响应返回多余空格或换行问题咨询
REST API 原始响应多余空格问题解决方案
问题根因
原始响应存在多余空格、美化展示正常,常见原因分为三类:
- 服务端JSON序列化时开启了美化输出(pretty print),自动生成缩进、换行类空格字符
- 所用API调试工具在原始响应面板额外添加了格式化字符,并非接口实际返回内容
- 接口响应
Content-Type头配置错误,被中间层或调试工具识别为普通文本自动补入空格
处理步骤
- 校验服务端序列化配置
排查后端代码中JSON序列化参数,关闭美化输出开关,生产环境关闭该配置还可以压缩响应体积,提升传输效率 - 排除调试工具干扰
使用curl命令直接发起请求验证原始响应,参考命令:
curl -v 【替换为你的接口请求地址】
如果curl返回内容无多余空格,说明是调试工具的展示问题,无需修改接口逻辑
3. 检查响应头配置
确认接口返回的Content-Type头值为application/json,避免被识别为文本格式自动添加格式化内容
4. 校验业务字段赋值逻辑
如果多余空格出现在JSON的字段值内部,排查业务代码中字符串字段赋值逻辑,建议在序列化前对所有字符串类型字段做trim处理,过滤首尾空白字符

内容的提问来源于stack exchange,提问作者Tauqueer Hassan
相关产品推荐
相关产品推荐

