получение количества элементов массива из вызова веб-службы в Call Studio
-
Использую CVP v12.6. Я использую элемент Rest_Client в CS для вызова веб-службы и получаю в ответ массив JSON. Мне нужно обрабатывать вызовы на основе количества элементов в массиве. В элементе Action Element-Set Value я попробовал выполнить JSON.parse и использовать length для получения количества, но в зависимости от количества итераций, которые я пробовал, получаю либо ошибку, либо значение null. Может ли кто-нибудь предоставить правильный синтаксис, если это возможно? Полученные мной данные JSON имеют следующий формат: {"Results":[
{"Name":
"Address":
"Phone":
}
{"Name":
"Address":
"Phone":
}]
} -
Нет. Вам нужно выполнить ТОЛЬКО эту одну строку — она вернет длину в вашу локальную переменную: JSON.parse({Data.Element.restZipcodeLookup.response_body}).Results.length;
-
Используйте следующее: JSON.parse({Data.Element.Rest01.response_body}).Results.length;
-
Спасибо, Дженин. У меня в элементе действия «Установить значение» есть следующее: var val = {Data.Element.restZipcodeLookup.response_body}; var path = JSON.parse({Data.Element.restZipcodeLookup.response_body}).Results.length; JSONPathUtil.eval(val,path); Однако, глядя на логи, я вижу, что значение равно null. У меня также есть элемент «Решение» после этого, чтобы выполнять другие действия, если счетчик превышает текущее значение, но он также не работает... вероятно, потому что я не получаю действительного значения. Есть какие-нибудь идеи?
-
НМ. Вот как это должно выглядеть: var val = JSON.parse({Data.Element.restZipcodeLookup.response_body}).Results.length; var path = "$"; JSONPathUtil.eval(val,path); Осталось только настроить мое приложение для обработки результата.
-
А, проще. Спасибо.
-
«У меня есть следующий ответ: [ { "customerId": "3756756", "phoneVerify": true }, { "customerId": "2661521", "phoneVerify": true }
]
Копировать Пожалуйста, помогите мне. Как я могу посчитать, сколько есть
«phoneVerify»: true
? -
Попробуйте это в элементе действия: importPackage(com.
audium
.
server
.
cvpUtil
);
var
json = {
Data
.
Element
.
GetJSON
.
response_body
};
var obj = JSON
.
parse
(json);
var
phoneVerifyCount = obj.
filter
(
item
=>
item.
phoneVerifytrue
).
length
;
phoneVerifyCount; Не обращайте внимания на то, что я сказал выше, я полагался на память и добавил обычный JS в CVP. Вот как получить количество: var json = '[ { "customerId": "3756756", "phoneVerify": true }, { "customerId": "2661521", "phoneVerify": true}]'
var obj = JSON.parse(json)
obj.length Теперь вам нужно будет пройти по результатам, если вы хотите подсчитать только те, где phoneVerify равно true. Дэвид Блог
|
Работа
Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.
Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост может стать ещё лучше 💗
Зарегистрироваться Войти