json - how - restassured maven
Acceda a los elementos de una matriz anónima a través de JsonPath en RestAssured (2)
Tengo una matriz anónima en JSON devuelta desde un servicio como:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
¿Cómo puedo acceder a los elementos de la bar
, por ejemplo, en
expect().body("$[*].bar", hasItems(2,4))
Probé algunas de las posibilidades que encontré aquí y también en la página de JsonPath de Stefan Gössner, pero lo que sea que obtenga, tengo excepciones. Mi problema parece provenir directamente de intentar acceder a esa lista de elementos.
Dado que tienes:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
Puedes hacer lo siguiente en Rest Assured:
then().body("bar",hasItems(2,4))
o
expect().body("bar",hasItems(2,4))
si está utilizando la API heredada.
La respuesta de Johan es correcta, solo por el bien de la integridad: una forma alternativa de verificar los elementos de la ''barra'' con la tranquilidad de estar asegurada
expect().
body("[0].bar", equalTo(2)).
body("[1].bar", equalTo(4));