javascript - 如何计算使用 Postman 返回的 json 的长度?
问题描述
我发送了一个请求,该请求将我发回如下内容:
{
"items": [
{
"id": 86154,
...
},
{
"id": 86194,
...
}
}
我想在 Postman 测试部分计算这个数组的大小。所以我写道:
var body = JSON.parse(pm.response.json());
tests["Count: " + body.items] = true;
正如你在上面看到的,它没有用。我对 PostMan 和 Javascript 都很陌生,这可能就是原因。
解决方案
pm.*
简单的答案是使用新的API 语法获得相同的结果:
pm.test(`Count: ${pm.response.json().items.length}`)
您使用的语法不正确JSON.parse(pm.response.json())
- 您可以使用pm.response.json()
并删除JSON.parse()
.
要获取对象的数量,您只需要使用.length属性。
我不确定您要测试什么,但这个简单的测试会检查或断言您在数组中有 2 个对象(如您的示例):
let body = pm.response.json()
pm.test("Check the Items array length", () => {
pm.expect(body.items.length).to.equal(2)
})
这是使用较新的pm.test()
语法,有关此和所有其他pm.*
API 方法的更多信息可以在这里找到:
https://learning.postman.com/docs/postman/scripts/postman-sandbox-api-reference/
如果您只是想注销该值而不将其添加到测试中,您可以console.log(pm.response.json().items.length)
在Tests
选项卡中使用并在 Postman 控制台中看到它的显示。
推荐阅读
- php - Ajax 调用返回当前页面整页 HTML 而不是预期的数据
- php - 在 ACF Image Caption 中添加链接
- c# - Visual Studio 中的数据集
- javascript - 汉森表中的日期格式
- typescript - 此片段中的打字稿解构运算符有什么问题?
- performance - 不能同时使用 cuMemcpyHtoDAsync 和 cuMemcpyDtoHAsync
- r - 来自两个包(irr、DescTools)的 Cohen 的 kappa 函数给出不同的结果
- r - 在 R 中绘制按时间显示日期的折线图
- graph - TEAMS - 图形 API:消息中缺少选项卡引用
- gulp - 错误:使用 gulp 版本 4 时 gulp.start 不是函数