流式调用OpenAI API函数时如何获取有效参数并解决JSON解析问题
OpenAI流式响应JSON解析失败的原因分析
- 流式响应的片段化结构未正确处理:OpenAI流式返回的是SSE格式数据,每一条有效内容都带
data:前缀,末尾还有data: [DONE]结束标记。如果直接把所有返回内容拼接后执行JSON.parse(),会把这些非JSON内容包含进去,直接导致格式错误。 - Vercel边缘函数的响应处理干扰:Vercel部署的边缘函数会对传输中的响应做额外处理,比如自动添加响应头、或者在超时/中断时截断不完整的响应片段,这会导致部分JSON节点缺失引号、括号等关键符号,最终解析失败。
- 网络传输的稳定性差异:本地环境网络稳定,流式片段传输顺序完整;部署到Vercel后,跨网络传输可能出现片段丢失、乱序的情况,拼接后的JSON结构直接损坏。
内容的提问来源于stack exchange,提问作者Evanss
相关产品推荐
相关产品推荐

