首页 > 解决方案 > 如何计算使用 Postman 返回的 json 的长度?

问题描述

我发送了一个请求,该请求将我发回如下内容:

{
    "items": [
        {
            "id": 86154,
            ...
        },
        {
            "id": 86194,
            ...
        }
}

我想在 Postman 测试部分计算这个数组的大小。所以我写道:

var body = JSON.parse(pm.response.json());
tests["Count: "  + body.items] = true;

在此处输入图像描述

正如你在上面看到的,它没有用。我对 PostMan 和 Javascript 都很陌生,这可能就是原因。

标签: javascriptjsonpostman

解决方案


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 控制台中看到它的显示。


推荐阅读