Я собрал данные из ответа и поместил их в массив в «Тестах».console.log
показывает, что я получил массив:
Затем я сохранил его в переменной окружения для использования в следующем вызове.Но значением в запросе была строка, поэтому было запущено только первое значение.
Как установить обычный массив?
Ответ от собранных мной данных:
{
"sent": 0,
"remaining": 1000000,
"gifts": [
{
"id": 43468,
"amount": 50000,
"can_gift_back": true
},
{
"id": 43469,
"amount": 50000,
"can_gift_back": true
}
]
}
Мой код на вкладке "Тесты":
let jsonData = pm.response.json();
let gifts = jsonData.gifts;
//calculate array length
function objectLength(obj) {
var result = 0;
for(var prop in obj) {
if (obj.hasOwnProperty(prop)) {
result++;
}
}
return result;
}
let arrayLength = objectLength(gifts);
//push response data to the array
var giftsArray = [];
for (var i = 0; i < arrayLength; i++) {
var giftsIDs = gifts[i].id;
giftsArray.push(giftsIDs);
}
pm.environment.set("giftsToCollect", giftsArray);
UPD:
- После использования кода из ответа по-разному я получил такой вопрос.
Точка 1 на рисунке описывает способ поведения при использовании stringify
Точка 2 описывает поведение, когда stringify
не используется 2. Пример запроса JSON с вручную введенными идентификаторами