gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 04:01:47 26 4
gpt4 key购买 nike

我从响应中收集数据并将其推送到“测试”中的数组中。 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 here2. 手动输入 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com