从需要每个值的 Post 请求的 Json 响应中提取多个值

问题描述 投票:0回答:1

我需要从响应中收集所有queueCallManagerID 的数组,并构建一个循环来执行需要每个queueCallManagerID 的api 调用。

我只能使用下面的代码获取分配的第一个queueCallManagerID值:

测试:

var jsonData = pm.response.json();
pm.environment.set("queueCallManagerID", jsonData.data[0].queueCallManagerID);

回应:


{
    "count": 3386,
    "status": "Complete",
    "description": "",
    "data": [
        {
            "endTime": "2024-02-23 05:07:52",
            "queueCallManagerID": "79730950",
            "mixmonFileName": "con2526-79730950.wav",
            
        },
        {
            "endTime": "2024-02-23 05:08:18",
            "queueCallManagerID": "79730957",
            "mixmonFileName": "q-con2526-us1-vp-4008-1708664701.1269429.wav",
          
        },
json postman extract response
1个回答
0
投票

map()将提取所有数组数据

const queueCallManagerIDs = jsonData.data.map(item => item.queueCallManagerID);

获取所有数组数据并保存到

queueCallManagerIDs
变量中并提取第一项并通过log()显示所有数据

演示

const jsonData = pm.response.json();

// Extract array of queueCallManagerID
const queueCallManagerIDs = jsonData.data.map(item => item.queueCallManagerID);

pm.environment.set('queueCallManagerIDs', JSON.stringify(queueCallManagerIDs));

console.log("all data: " + pm.environment.get("queueCallManagerIDs"));

const allData = JSON.parse(pm.environment.get("queueCallManagerIDs"));
if (Array.isArray(allData) && allData.length > 0) {
    const firstData = allData[0];
    console.log("First data: " + firstData);
} else {
    console.log("No data available in the queueCallManagerIDs variable.");
}

结果

© www.soinside.com 2019 - 2024. All rights reserved.