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

如何在控制台中像Postman一样完整显示API响应中的数组内容?

如何在控制台中像Postman一样完整显示API响应中的数组内容?

我来帮你梳理下问题所在,以及解决办法:

首先,先说说你遇到的两个核心问题:控制台只显示[Object]看不到数组详情,还有尝试JSON.parse时触发的语法错误。

为什么会出现SyntaxError: Unexpected token o?

这个报错是因为**response.json()已经自动把API响应体解析成JavaScript对象了**,你不需要再用JSON.parse去处理它。当你把一个对象传给JSON.parse时,它会先把对象转成字符串"[object Object]",这个字符串的第一个字符是o,自然就触发语法错误啦。

怎么让控制台完整显示数组内容?

这里有几个简单的方法,能让你像在Postman里一样看到完整的响应结构:

方法1:强制控制台展开所有嵌套层级

控制台默认会限制嵌套对象的显示深度,所以你看到了[Object]。可以用这两种方式强制展开所有层级:

  • 使用console.dir搭配深度配置:
console.dir(await result, { depth: null });
  • 或者给console.log添加配置参数:
console.log("Response:", await result, { depth: null });

这样就能看到数组里的所有详细字段了。

方法2:转成格式化的JSON字符串输出

如果想让输出的结构和Postman里的排版完全一致(带缩进和换行),可以用JSON.stringify把对象转成格式化的字符串:

const fullResponse = await result;
console.log("Response:", JSON.stringify(fullResponse, null, 2));

第二个参数null表示保留所有属性,第三个参数2表示用2个空格缩进,输出的字符串结构清晰,和Postman的响应格式完全匹配。

顺便优化下你的代码写法

你现在混合了async/await和.then/.catch,其实用纯async/await会更清晰,也不容易出错:

let result = null;
try {
  const response = await fetch(request);
  if (response.status === 201) {
    console.log("Success");
    result = await response.json(); // 这里要加await,因为response.json()是异步操作
    // 直接在这里打印完整响应
    console.log("Response:", JSON.stringify(result, null, 2));
  } else {
    throw new Error("Something went wrong on API server!");
  }
} catch (error) {
  console.error(error);
}

注意哦,response.json()返回的是一个Promise,你之前直接赋值result = response.json()的话,result其实是Promise对象,后面await result是对的,但在then回调里最好也用await或者直接处理解析后的对象。

这样调整后,你就能在控制台里看到和Postman一样完整的数组内容啦!

备注:内容来源于stack exchange,提问作者Evgeniya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:39:52