32

次のようなサービスから返された JSON の匿名配列があります。

[
  {"foo":1, "bar":2 , "baz":3 },
  {"foo":3, "bar":4 , "baz":5 }
]

barたとえば、要素にアクセスするにはどうすればよいですか

expect().body("$[*].bar", hasItems(2,4)) 

こことStefan GössnerのJsonPathページで見つけたいくつかの可能性を試しましたが、何を試しても例外が発生します。私の問題は、そのアイテムのリストにアクセスしようとしたことに直接起因しているようです。

4

2 に答える 2

46

あなたが持っていると仮定すると:

[
  {"foo":1, "bar":2 , "baz":3 },
  {"foo":3, "bar":4 , "baz":5 }
]

Rest Assured では、次のことができます。

then().body("bar",hasItems(2,4)) 

また

expect().body("bar",hasItems(2,4)) 

レガシー API を使用している場合。

于 2012-12-11T12:12:00.403 に答える
32

完全を期すために、ヨハンの答えは正しいです。安心して「バー」要素をチェックする別の方法は次のとおりです。

expect().
    body("[0].bar", equalTo(2)).
    body("[1].bar", equalTo(4));
于 2014-11-01T21:27:17.637 に答える