arrays - 来自变量的数组在 Postman 中像字符串一样发送

标签 arrays environment-variables postman

我从响应中收集数据并将其推送到“测试”中的数组中。 console.log 显示我收到了数组:

enter image description here

然后我将它保存到环境变量中以供下次调用使用。但是请求中的值是一个字符串,所以只有第一个值在运行。

enter image description here

如何设置普通数组?

我收集数据的回应:

{
  "sent": 0,
  "remaining": 1000000,
  "gifts": [
    {
        "id": 43468,
        "amount": 50000,
        "can_gift_back": true
    },
    {
        "id": 43469,
        "amount": 50000,
        "can_gift_back": true
    }
  ]
}

我在“测试”选项卡中的代码:

let jsonData = pm.response.json();
let gifts = jsonData.gifts;

//calculate array length
function objectLength(obj) {
    var result = 0;
        for(var prop in obj) {
            if (obj.hasOwnProperty(prop)) {
            result++;
            }    
        }
    return result;
}
let arrayLength = objectLength(gifts);

//push response data to the array
var giftsArray = [];
for (var i = 0; i < arrayLength; i++) {
        var giftsIDs = gifts[i].id;
        giftsArray.push(giftsIDs);
    }
pm.environment.set("giftsToCollect", giftsArray);

更新:

  1. 在以不同方式使用答案中的代码后,我收到了此类问题。
图片中的

点1描述了使用stringify时的行为方式

第 2 点 描述了未使用 stringify 时的行为 enter image description here 2. 手动输入 id 的请求 JSON 示例 enter image description here

最佳答案

您可以使用 Lodash 捕获数组中的所有 id 值,这是一个可以在 Postman 应用程序中使用的外部模块。

在此之后将 array 保存为变量,与您已经这样做的相同,但我在数组值周围添加了 JSON.stringify() 或它将把它保存为一个字符串。

let giftsArray = []

_.each(pm.response.json().gifts, (item) => {
    giftsArray.push(item.id)
})

pm.environment.set('giftsToCollect', JSON.stringify(giftsArray))

然后您应该能够像这样引用环境变量:

gift_ids:{{giftsToCollect}}

我在本地模拟了请求数据,只是为了向您展示如何从数据中捕获值。

Postman

关于arrays - 来自变量的数组在 Postman 中像字符串一样发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55006532/

相关文章:

javascript 数组 - 用单引号分隔值和值的值

javascript - JS/Lodash - 替换多维对象中的值

windows - 从操作系统级别配置中删除环境变量的命令行

java - Java如何在Jenkins中使用环境变量?

java - 如何让 Java 应用程序在 Mac OS X 10.6.8 上读取 "system"环境变量(来自 Info.plist)?

java - 为什么 Spring boot 不接受我的 Axios POST 请求?

arrays - 如何在只有某些条件需要为 TRUE 的数组公式中包含 OR - Excel 第 3 部分

JavafirstPosition算法

php - 使用 Postman 通过原始 JSON 发送 POST 数据

java - 无法在 postman 中发布照片 - 无可用消息, postman 中出现错误 404