如何从fetch请求返回的JSON响应中提取所需信息?
问题解决:Fetch POST响应无法解析Access Token
核心问题
你收到的响应内容开头带有echo: 前缀,导致JSON解析失败,无法直接提取access_token。响应原始内容:
echo: {"access_token":"00D5r0000008j","instance_url":"https://mywebsie.com","id":"https://mywebsite/id/00D5r0000008j6UEAQ/0055r000001aYLmAAM","token_type":"Bearer","issued_at":"1681461844656","signature":"yKCoz4I8J"}
解决步骤
- 剥离响应文本中的
echo:前缀,提取纯JSON字符串 - 解析JSON字符串,获取目标字段
代码示例(JavaScript)
fetch('你的请求地址', { method: 'POST', headers: { 'Content-Type': 'application/json' // 其他请求头配置 }, body: JSON.stringify(你的请求体数据) }) .then(res => res.text()) .then(rawText => { // 移除开头的echo:前缀 const jsonContent = rawText.trim().replace(/^echo: /, ''); try { const authData = JSON.parse(jsonContent); const accessToken = authData.access_token; // 后续使用accessToken进行测试用例 console.log('获取到的Access Token:', accessToken); } catch (err) { console.error('JSON解析失败:', err); } }) .catch(err => console.error('请求失败:', err));
额外说明
出现这种带前缀的响应,大概率是后端输出时的调试残留(比如用echo命令打印响应),如果有权限建议后端修复输出格式,返回纯JSON内容,避免前端额外处理。
内容的提问来源于stack exchange,提问作者RichardRobot
相关产品推荐
相关产品推荐

