У меня есть сценарий, где часть ответа родительского API от дочернего API. Если ответ дочернего API (который является Dynami c) имеет только один элемент массива, нет необходимости сопоставлять его в ответе родительского API, if array size > 1
, тогда мне нужно сопоставить из индекса 1 в ответах с ответом родительского API.
* def child = {"array1":[{"mbr1":{"id":"A1"}},{"mbr2":{"id":"A2"}}]}
Нет определенного порядка c для дочернего ответа API, и array1
может иметь "n"
количество элементов массива (mbr1,mbr2,mbr3, etc)
Если дочерний ответ API такой же, как выше, то родитель будет выглядеть следующим образом:
* def parent = {"parent":{"muid":"1234"},"elg":[{"EID":"E123"},{"members":[{"mbr2":{"id":"A2"}}]}]}
Таким образом, ответ родительского API в конце ответа дочернего API заполняется, только если выполнены вышеупомянутые условия. Если дочерний API возвращает только один элемент, то ответ родительского API будет выглядеть следующим образом:
* def parent = {"parent":{"muid":"1234"},"elg":[{"EID":"E123"}]}
Итак, как мне выполнить сопоставление, чтобы увидеть, присутствует ли дочерний элемент в родительском, если дочерний элемент возвращает 200 ОК, и длина дочернего массива> 1? Поэтому я ищу решение по следующему сценарию:
if (child responseStatus == 200){
if (child.array1.length > 1){
for (i = 1;i <= child.array1.length; i++){
parent.elg[1].members[i] contains child.arrays1[i]
}
}
}