You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman前置脚本中res.json()返回undefined求助(状态码200)

Postman前置脚本res.json()返回undefined的解决办法
  • 确认响应体是否为有效JSON
    状态码200不代表响应体一定是JSON,先去Postman的「响应」面板查看「Body」标签:

    • 如果响应体为空,res.json()自然返回undefined;
    • 如果是纯文本/其他格式,得用res.text()替代res.json()。
  • 修正请求的异步写法
    Postman前置脚本里发送请求必须用异步回调,同步写法会导致还没拿到完整响应就执行解析:

// 错误示例:同步调用无法获取正确响应
var res = pm.sendRequest("https://your-api-url");
var r = res.json();
console.log(r);

正确写法:

pm.sendRequest("https://your-api-url", function (err, res) {
  if (!err) {
    // 先判断响应体是否存在
    if (res.text()) {
      try {
        var r = res.json();
        console.log(r);
      } catch (e) {
        console.log("响应不是有效JSON:", res.text());
      }
    } else {
      console.log("响应体为空");
    }
  } else {
    console.log("请求出错:", err);
  }
});
  • 检查响应头Content-Type字段
    如果响应头的Content-Type不是application/json,Postman的res.json()可能解析失败。此时可以先拿文本内容再手动解析:
pm.sendRequest("https://your-api-url", function (err, res) {
  if (!err) {
    var textContent = res.text();
    if (textContent) {
      try {
        var parsedData = JSON.parse(textContent);
        console.log(parsedData);
      } catch (e) {
        console.log(JSON解析失败:", e);
      }
    }
  }
});
  • 排查响应压缩问题
    若接口返回gzip压缩的响应,可尝试关闭Postman请求设置里的「Automatically decode response」选项,再重新测试(此情况较少见)。

内容的提问来源于stack exchange,提问作者Baskaran S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:24:54