我在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),则效果很好。当我尝试使用变量时,它只是行不通。
答案 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'])