У меня есть ответ JSON от конечной точки, который дает мне вложенный массив элементов. И учитывая входное значение, я хочу выяснить все значения индекса, где это значение встречается, а не только первое вхождение элемента.
Например, вот мой ответ:
{
"items": [
{
"vin": "MMTestingVIN00002",
"dealerCode": "1",
"nmscCode": "1",
"warning": {
"warningLightType": {
"code": 1,
"description": "",
"symbol": "OLW",
"type": "S",
"priority": "1"
}
}
},
{
"vin": "HESQM0IBWUR7DH0DU",
"dealerCode": "1",
"nmscCode": "1",
"warning": {
"warningLightType": {
"code": 1,
"description": "",
"symbol": "OLW",
"type": "S",
"priority": "1"
}
}
},
{
"vin": "MMTestingVIN00002",
"dealerCode": "1",
"nmscCode": "1",
"warning": {
"warningLightType": {
"code": 1,
"description": "",
"symbol": "OLW",
"type": "S",
"priority": "1"
}
}
},
{
"vin": "ZCADWKEQM1GEADEQR",
"dealerCode": "1",
"nmscCode": "1",
"warning": {
"warningLightType": {
"code": 1,
"description": "",
"symbol": "WASH",
"type": "S",
"priority": "1"
}
}
},
{
"vin": "H5QGE06R54B8KYOUV",
"dealerCode": "1",
"nmscCode": "1",
"warning": {
"warningLightType": {
"code": 1,
"description": "",
"symbol": "WASH",
"type": "S",
"priority": "1"
}
}
}
]
}
Я хочу узнать индексы, где встречаются массивы с "vin = MMTestingVIN00002"
.
Я смотрел https://github.com/intuit/karate/blob/master/karate-junit4/src/test/java/com/intuit/karate/junit4/demos/js-arrays.feature за идеи. Также посмотрел на другие ответы SO и попробовал:
* def VIN = 'MMTestingVIN00002'
* def response = result.items
* def names = $[*].vin
* def index = names.indexOf(VIN)
* print index
Это дает единственное первое вхождение с индексом 0. В идеале я хочу индекс массива результатов [], который дает [0,2] как результат.