邮递员 - 使用变量键获取响应值
Postman - Get response value using variable key
我在 Postman 中创建了一个 GET 请求,该请求 return 以 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]);
}
}
编辑: 问题不在于子字符串识别,而在于值的 return。如果我尝试使用条件中的特定键(例如 jsonData.Id)获取一个值,它就可以正常工作。当我尝试使用变量时它不起作用。
has() 仅在映射中搜索确切的键。试试这个来检查子字符串:
if(keys[i].indexOf("_number") !== -1)
{
console.log(jsonData.keys[i]);
}
甚至字符串函数包括()
if(keys[i].includes("_number"))
{
console.log(jsonData.keys[i]);
}
你可以这样查看
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]]);
}
}
方法略有不同,但这会在 Postman 控制台中提供相同的输出:
_.each(Object.entries(jsonData), (item) => {
if(item[0].includes('_number')) {
console.log(item[1])
}
})
我在 Postman 中创建了一个 GET 请求,该请求 return 以 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]);
}
}
编辑: 问题不在于子字符串识别,而在于值的 return。如果我尝试使用条件中的特定键(例如 jsonData.Id)获取一个值,它就可以正常工作。当我尝试使用变量时它不起作用。
has() 仅在映射中搜索确切的键。试试这个来检查子字符串:
if(keys[i].indexOf("_number") !== -1)
{
console.log(jsonData.keys[i]);
}
甚至字符串函数包括()
if(keys[i].includes("_number"))
{
console.log(jsonData.keys[i]);
}
你可以这样查看
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]]);
}
}
方法略有不同,但这会在 Postman 控制台中提供相同的输出:
_.each(Object.entries(jsonData), (item) => {
if(item[0].includes('_number')) {
console.log(item[1])
}
})