Postman 搜索数组并设置环境变量
我的邮递员回复正文如下:Postman 搜索数组并设置环境变量,postman,Postman,我的邮递员回复正文如下: { "jobs": [ { "id": "00d21be0", "name": "IT Department" }, { "id": "h27da349", "name": "Car Sales" }, { "id": "5d2db4125", "name": "Grocery Clerk" }, { "
{
"jobs": [
{
"id": "00d21be0",
"name": "IT Department"
},
{
"id": "h27da349",
"name": "Car Sales"
},
{
"id": "5d2db4125",
"name": "Grocery Clerk"
},
{
"id": "65cd0cc1d",
"name": "Accounting Department"
},
{
"id": "8462284587",
"name": "Nurse"
},
{
"id": "9fe2ff9ee4",
"name": "Astronaut"
},
{
"id": "f40cb44799",
"name": "Phone Operator"
},
{
"id": "f4e0483257",
"name": "Project Leader"
}
]
}
我想做的是解析这个响应,并为id设置一个环境变量,该id与护士、宇航员和杂货店店员相关。其余的信息我不需要。我不能使用数组[number],因为它不能保证它们在其他系统上的顺序相同
JSON.stringify响应体是正确的选择吗?如何提取这些值
到目前为止,我的邮差测试是:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentalVariable("jobs", JSON.stringify(jsonData));
您可以做的是使用循环解析json主体,当您点击想要的名称时,使用相应的id设置一个全局变量,如:
// get the response body
var jsonData = JSON.parse(responseBody);
// init counter
var loop_count = 0
for (count = 0; count < jsonData.jobs.length; count++)
{
if (jsonData.jobs[count].name == "Nurse")
{
var job_id = jsonData.jobs[count].id;
postman.setEnvironmentalVariable("env_nurse", job_id);
}
}
//获取响应主体
var jsonData=JSON.parse(responseBody);
//初始化计数器
变量循环计数=0
for(count=0;count
这是原则
您可以对要捕获的不同名称执行if/else,但我不建议这样做(使用可以轻松扩展的数组)
对于环境变量名也一样,不要硬编码,试着根据元素名生成它。谢谢。这是有效的。我有一个问题,还有一个问题。为什么var循环计数缩进?