Не в состоянии получить значение от тела ответа почтальона
У меня есть 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 ответа
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
Вы пытаетесь получить доступ к массиву с именем пользователя
jsonData.data.user[0].id
Но пользователь - это объект, поэтому вам нужно получить доступ: jsonData.data.user.id
Иногда вам нужно проверить полный JSON непосредственно из вашего запроса.
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]