Получение значений из вложенного ответа в Postman API - PullRequest
0 голосов
/ 10 октября 2018

Я новичок в Postman и программировании / написании сценариев в целом, и мне нужна помощь по извлечению значений из вложенного массива, а также по проверке количества атрибутов, возвращаемых в ответе.У меня есть следующий JSON:

{
    "studentsData":[
        {
            "id": 142,
            "firstName": "Kai",
            "lastName": "Carvalho Rodrigues",
            "addressLine1": "4188 Viking Drive",
            "addressLine2": "",
            "state": "VA",
            "city": "Fairview",
            "postalCode": "43736S",
            "country": "US",
            "emergencyContacts":[
                {
                    "firstName": "Ruby",
                    "lastName": "Wilfred",
                    "phoneNumber": "5541-766-XXXX"
                },
                {
                    "firstName": "Isaac",
                    "lastName": "Jeanneret",
                    "phoneNumber": "5541-761-XXXX"                   
                }         
            ]
        },
        {
            "id": 143,
            "firstName": "Kai",
            "lastName": "Yewen",
            "addressLine1": "4956 Alexander Avenue",
            "addressLine2": "",
            "state": "CO",
            "city": "Denver",
            "postalCode": "94607",
            "country": "US",
            "emergencyContacts":[
                {
                    "firstName": "Matilda",
                    "lastName": "McAdam",
                    "phoneNumber": "988-445-XXXX"
                }
            ]
        }            
    ]
}

Здесь я пытаюсь: Распечатать firstName в studentData Проверьте счетчик firstName в ответе Распечатайте список phoneNumber в списке контактов экстренной связи Проверьте счетчик phoneNumber в ответе Распечатайте firstName вдольс phoneNumber по экстренным контактам в консоли почтальона.

// Печать всех первых Имен в Ответе

var jsonData = JSON.parse(responseBody);
var name = jsonData.studentsData;
for (var i = 0; i <= name.length; i++ ) {
console.log(" The list of students' first names are: "+name);

// Проверка количества первых Имен в Ответе

var jsonData = JSON.parse(responseBody);
tests["Total number of students = 2"] = jsonData.studentsData.length === 2;

// Печать списка phoneNumber при экстренных контактах

var responseData = JSON.parse(responseBody);
var i;
var j;
var contactNumbers = jsonData.studentsData[i].emergencyContacts[j];

for (var i = 0; i <= contactNumbers.length; i++ )
    for (var j = 0; j <= contactNumbers.length; j++) {
        console.log(" The list of emergency contacts are: "+contactNumbers);
    }
}

// Проверка количества аварийных контактов в ответе

    var jsonData = JSON.parse(responseBody);
    var i;
    var contactNumbers = jsonData.studentsData[i].emergencyContacts[j];
    for (i=0; i <= contactNumbers.length)
       for (var j = 0; j <= contactNumbers.length; j++){
    tests["Total number of emergency contacts = 4"] = jsonData.studentsData[I].emergencyContacts[j].length === 4;
    };

Напечатайте firstName вместе с phoneNumber в разделе emergencyContacts в консоли почтальона - невозможно выполнить этот сценарий

...