Не в состоянии получить значение от тела ответа почтальона - PullRequest
0 голосов
/ 06 марта 2019

У меня есть API, который имеет ответ, как показано ниже:

"message": "Success!",
    "user": {
        "id": 17,
        "first_name_kanji_or_hiragana": "Hiragana",
        "last_name_kanji_or_hiragana": "Name",
        "first_name_katakana": null,
        "last_name_katakana": null,
        "email": "user@example.com",
        "image_path": null,
        "email_verified_at": "2019-03-06 04:44:46",
        "type": "admin",
        "created_at": "2019-03-06 04:44:46",
        "updated_at": "2019-03-06 04:44:46",
        "deleted_at": null,
        "full_name": "Name Hiragana",
        "full_image_path": null,
        "roles": [

Каждый раз, когда я запускаю API, новый пользователь id генерирует.То, что я хочу сделать, это то, что я хочу получать идентификатор каждый раз, когда я запускаю API, а затем хочу использовать этот идентификатор в следующем ответе.Я использовал приведенный ниже код для получения идентификатора, но он не работает

pm.test(responseBody, true)
var jsonData = JSON.parse(responseBody); 
jsonData.data.user[0].id

Ответы [ 3 ]

0 голосов
/ 06 марта 2019

Вы пытаетесь получить доступ к массиву с именем пользователя

jsonData.data.user [0] .id

Но пользователь - это объект, поэтому вам нужно получить доступ к: jsonData.data.user.id

Иногда бывает необходимо проверить полный JSON непосредственно из вашего запроса.

0 голосов
/ 06 марта 2019

user не является массивом.Попробуйте следующее.

jsonData.data.user.id

Ваше решение будет работать, когда у вас есть JSON, как показано ниже,

    "lib_folders": {
        "changed": false,
        "examined": 5,
        "failed": false,
        "files": [
            {
                "atime": 1549608521.3831923,
                "ctime": 1548742613.5470872,
                "path": "/root/abc/xyz",
                "xusr": true
            },
            {
                "atime": 1549608521.4031928,
                "ctime": 1548742462.3279672,
                "path": "/root/123/456",
                "xusr": true
            }
        ],
        "matched": 2,
        "msg": ""
    }

Для вышеупомянутого JSON, если вы хотите получитьpath первого файла, затем используйте следующий код,

jsonData.data.lib_folders.files[0].path

0 голосов
/ 06 марта 2019
pm.test(responseBody, true)
var jsonData = JSON.parse(responseBody); 
jsonData.data.user[0].id // youre access the user if its array its not

Просто используйте jsonData.data.user.id или jsonData.data.user[id]

...