Я безуспешно пытаюсь проанализировать значение id из ответа тела JSON и включить его в переменную окружения в Postman. Вот пример ответа Body.
"payload": {
"transaction": {
"amount": "1.00",
"id": "114255633",
"type": "AUTH",
"result": "APPROVED",
"card": "XXXXXXXXXXXX1111",
"authorization-code": "TAS977",
}
}
а вот мой сценарий в почтальоне
var jsonData = JSON.parse(responseBody);
var id = jsonData.payload[0].transaction.id;
postman.setEnvironmentVariable("id", id);
Любая помощь будет оценена по достоинству. Я думаю, что моя ошибка заключается в том, что значение, которое я ищу, вложено в массив.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если я не ошибаюсь ... это должно сработать
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("id", jsonData["payload"]["transaction"]["id"]);
Попробуй этот var jsonData = JSON.parse(responseBody); postman.setEnvironmentVariable("id", jsonData["payload"]["transaction"]["id"]);
индивидуализация объектов сделала свое дело. так просто! Благодарность!
Хорошо, отредактирую ответ.
Единственное, что не так с вашим кодом, было бы payload[0], должно быть просто payload. Это не массив, поэтому вам не нужен [0]. Я бы также посоветовал не использовать старый синтаксис и попробовать использовать API pm.* в песочнице сейчас, автоматическое предложение покажет вам это в приложении.
почтальон предоставляет метод inbuild для извлечения объекта json, который вам не нужно анализировать:
Также используйте новый pm api вместо почтальона
pm.environment.set("id", pm.response.json().payload.transaction.id);
Для получения дополнительной информации: learning.postman.com/docs/writing-scripts/script-references/…
я тоже так думал изначально. Почтальон продолжает бросать TypeError: не удается прочитать свойство id of undefined