J'ai un tableau anonyme en JSON renvoyé par un service comme:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
Comment puis-je accéder aux éléments bar
, par exemple dans
expect().body("$[*].bar", hasItems(2,4))
J'ai essayé quelques possibilités que j'ai trouvées ici et aussi sur la page JsonPath de Stefan Gössner, mais quoi que j'essaye, j'obtiens des exceptions. Mon problème semble provenir directement d'essayer d'accéder à cette liste d'éléments.
Étant donné que vous avez:
[
{"foo":1, "bar":2 , "baz":3 },
{"foo":3, "bar":4 , "baz":5 }
]
Vous pouvez effectuer les opérations suivantes dans Rest Assured:
then().body("bar",hasItems(2,4))
ou
expect().body("bar",hasItems(2,4))
si vous utilisez l'ancienne API.
La réponse de Johan est correcte, juste dans un souci d'exhaustivité: une autre façon de vérifier les éléments `` barre '' avec tranquillité serait
expect().
body("[0].bar", equalTo(2)).
body("[1].bar", equalTo(4));