Как разобрать значение во вложенном JSON с помощью Postman - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь разобрать ответ json от почтового запроса и отправить проанализированные данные, чтобы отправить запрос. Это мое тело ответа

    {
        "createdBy": "student",
        "createdOn": "2019-06-18",
        "Id1": "0e8b9445-4bd9-4d31",
        "Tl": [
            {
                "createdBy": "student",
                "createdOn": "2019-06-18",
                "Id2": "d46eeb88-f876-4468"
            }
        ]
    }   

Я анализирую id1 и id2, которые генерируются автоматически. Это код, который я пишу в тестах

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("Id1", jsonData.Id1);
postman.setEnvironmentVariable("Id2", jsonData.Tl[2].Id2);

id1 работает, но я не могу получить доступ к Id2 и получить сообщение об ошибке после публикации как

typeerror не может прочитать свойство Id2

и я обращаюсь к Id2 в запросе пут как {{Id2}}

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

В следующем выражении вы пытаетесь получить доступ к 3-му элементу (индекс: 2) массива с ключом 'Tl':

postman.setEnvironmentVariable("Id2", jsonData.Tl[2].Id2);

Вы должны получить доступ только к 1-му элементу (индекс: 0):

postman.setEnvironmentVariable("Id2", jsonData.Tl[0].Id2);
0 голосов
/ 18 июня 2019

В jsonData.Tl есть только один элемент, поэтому jsonData.Tl[2] равно undefined. Используйте jsonData.Tl[0] для доступа к первому элементу.

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("Id1", jsonData.Id1);
postman.setEnvironmentVariable("Id2", jsonData.Tl[2].Id2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...