#groovy #jsonpath
#groovy #jsonpath
Вопрос:
У меня есть следующий объект JSON r2
,
[
{
"reserva_id":"200",
"estancias":[
{
"reserva_estancia":"266",
"huespedes":[
{
"reserva_huesped":"272",
"reserva_estancia":"266",
"numero_huesped":"1",
"huesped":"123",
"huesped_nombre":"dos dos, dos",
"rfid":null
},
{
"reserva_huesped":"276",
"reserva_estancia":"266",
"numero_huesped":"2",
"huesped":"183",
"huesped_nombre":"MUESTRA MUESTRA, CARMEN",
"rfid":null
}
]
}
]
},
{
"reserva_id":"201",
"estancias":[
{
"huespedes":[
{
"reserva_huesped":"273",
"reserva_estancia":"267",
"numero_huesped":"1",
"huesped":"148",
"huesped_nombre":"MUESTRA MUESTRA, CARMEN",
"rfid":null
},
{
"reserva_huesped":"277",
"reserva_estancia":"267",
"numero_huesped":"2",
"huesped":"187",
"huesped_nombre":"TEST TEST, TESTCIVITFUN",
"rfid":null
}
]
}
]
}
]
Я пытаюсь получить первый huesped
для каждого резервирования, и для этого я использую следующий скрипт, чтобы создать список с именем profiles и сохранить ProfileID:
def profiles = jsonpath(r2,'$..[:].estancias[:].huespedes[0].huesped')
Вывод должен быть следующим:
[
"123",
"148"
]
Однако, когда я печатаю profiles.text
, я получаю все содержимое estancias
объекта, а не только huesped
число.
Комментарии:
1. Где вы это используете? JMeter, SoapUI? Я не могу добавить дополнительные инструкции, поскольку я не знаю вашей среды.
Ответ №1:
При использовании JSONPath от Jayway подобным образом я получаю желаемый результат oputput:
$..[*].estancias[*].huespedes[0].huesped
Вы можете попробовать выражение пути с вашим JSON здесь, в Интернете.