在Postman中从对象数组中提取值

18

我想从Postman中的对象数组中提取Id值,然后将其设置为环境变量。如果JSON响应是一个对象,则以下脚本可以正常工作,但不能处理对象数组(我的数组只有一个对象)。

var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("userid", data.Id);

JSON响应:

[
  {
    "Id": 1287,
    "LastName": "Trump",
    "FirstName": "Donald",
    "MiddleName": "Von",
    "City": "New York City",
    "Phone": "66 77 88",
    "State": "New York",
    "Fax": "111-222-333",
    "ReferenceId": "12345",
    "Active": false,
    "CurrentWorkingSchemeId": null
  }
]

这可以帮助你:https://dev59.com/-Gkw5IYBdhLWcg3wSovA - mvlaicevich
这回答了你的问题吗?如何获取数组的第一个元素? - Henke
2个回答

30
如果它是一个对象数组,那么在获取对象的键之前,只需使用索引[0]选择第一个对象,如下所示:
var data = JSON.parse(responseBody);   
postman.setEnvironmentVariable("userid", data[0].Id);

太棒了。非常顺畅 :) - xUrko
1
@UrošKočevar,我认为你应该接受它作为答案。 - Zeinab Abbasimazar

2

这个非常好用!基本上我在这里所做的是解析响应,从数据数组中获取id并将其保存在Postman环境变量中。

var jsonData = JSON.parse(responseBody);
    for (var i = 0; i < jsonData.data.length; i++) `
    {
    var counter = jsonData.data[i];
    postman.setEnvironmentVariable("schID", counter.id);
    }

我正在寻找类似这样的东西,不知道是否可以针对从数组中提取的每个值执行请求? - Chop Labalagun
for(const item of jsonData) { /* 在循环中使用item */ } - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接