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

如何在Postman测试区统计返回JSON中数组的长度?

解决Postman测试区统计items数组大小的问题

嘿,刚接触Postman和JS踩点小坑很正常,我来帮你捋捋问题出在哪:

你的代码里的两个关键问题

  • 重复解析JSON:pm.response.json()方法已经帮你把响应的JSON字符串转换成JavaScript对象了,你再套一层JSON.parse()反而会报错——因为你是在解析一个对象而非字符串。
  • 没获取数组长度:body.items是整个数组本身,直接把它放到测试名称里只会显示[object Object],[object Object]这类无效内容,而且断言= true也没有实际验证意义,我们需要的是数组的length属性。

修正后的基础代码

直接用这段替换你的测试代码就行:

// 获取解析后的响应体对象
var responseBody = pm.response.json();
// 提取items数组的长度
var itemsCount = responseBody.items.length;
// 添加测试用例,展示统计结果
tests["Items数组大小: " + itemsCount] = true;

进阶:添加断言验证(可选)

如果你想验证数组长度是否符合预期(比如预期返回2条数据),可以改成这样:

var responseBody = pm.response.json();
var expectedCount = 2; // 你预设的预期数量
var actualCount = responseBody.items.length;
// 断言实际长度等于预期,不符则测试失败
tests["Items数组大小符合预期: " + actualCount] = actualCount === expectedCount;

额外提示:处理边界情况

如果接口可能返回空数组或者不存在items字段,可以加个判断避免报错:

var responseBody = pm.response.json();
var itemsCount = 0;
// 先检查items是否存在且为数组类型
if (responseBody.items && Array.isArray(responseBody.items)) {
    itemsCount = responseBody.items.length;
}
tests["Items数组大小: " + itemsCount] = true;

内容的提问来源于stack exchange,提问作者Revolucion for Monica

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 14:37:37