xUrko
xUrko

Reputation: 335

Extract value from array of objects in Postman

I want to extract Id value from the array with objects in Postman and then set it as an environment variable. In case JSON response is an object, the following script works, but not with an array of objects (my array has only one object).

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

JSON response:

[
  {
    "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
  }
]

Upvotes: 20

Views: 89999

Answers (2)

Sobhit Sharma
Sobhit Sharma

Reputation: 713

Use if on loop for find value from array object. I try it and it work.

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

Upvotes: 2

A l w a y s S u n n y
A l w a y s S u n n y

Reputation: 38552

If it is an array of objects, then just select the first object using index [0] before grabbing the object's key like this:

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

Upvotes: 32

Related Questions