邮递员-使用变量键获取响应值

时间:2020-04-21 11:31:58

标签: javascript json postman postman-testcase

我在Postman中创建了一个GET请求,该请求以JSON格式返回一些数据。我想获取包含特定子字符串的每个键的JSON响应值。

这是我一直在尝试的代码:

var jsonData = pm.response.json();
var keys = Object.keys(jsonData);

for(var i = 0; i < keys.length; i++) 
{
    if(keys[i].has("_number"))
    { 
       console.log(jsonData.keys[i]);
    }
}

编辑:问题不在于子字符串识别,而在于返回值。如果我尝试在条件中使用特定键来获取值(例如jsonData.Id),则效果很好。当我尝试使用变量时,它只是行不通。

3 个答案:

答案 0 :(得分:0)

has()仅在地图内搜索确切的键。尝试以下方法检查子字符串:

vkQueueSubmit

甚至是字符串函数include()

if(keys[i].indexOf("_number") !== -1)
{ 
   console.log(jsonData.keys[i]);
}

答案 1 :(得分:0)

您可以通过这种方式检查

var jsonData = pm.response.json();
var keys = Object.keys(jsonData);

for(var i = 0; i < keys.length; i++) 
{
    if(keys[i].includes('_number'))
    { 
       console.log(jsonData[keys[i]]);
    }
}

答案 2 :(得分:0)

方法略有不同,但这将在Postman控制台中提供相同的输出:

domain_name = {
    'DomainNames': [
        {
            'DomainName': 'some-value'
        },
    ]
}

print(domain_name)

print(domain_name['DomainNames'][0]['DomainName'])