2017-02-01 6 views
1

で検索:はrestassured - 応答を解析し、私はREST APIレスポンス次した値

"items": 
[ 
     { 
      "empid": "1234", 
      "name": "Santosh", 
      "hiredby": "Mark", 
      "date": "2017-01-31,00:19:41 PST", 
    }, 
     { 
      "empid": "5678", 
      "name": "Kumar", 
      "hiredby": "Bob", 
      "date": "2017-01-31,08:30:31 PST" 
      } 
    ] 

私のクエリは次のとおりです。 - 私はクマーとして名を照会に基づいてEMPID取得するにはどうすればよいです。

たとえば、「クマール」という名前を見つけて、彼の帝国を取得する必要があります。 (つまり、名前で検索し、応答としてempidを取得する)応答を取得してResponseオブジェクトに格納することができます。しかし、レスポンスオブジェクトから、どのようにトラバースしてクエリを実行して、必要な値を得ることができます。私は応答を印刷するとき、私の期待は唯一5678

を取得することであると私は[1234,5678]、どこのようなEMPIDのコレクションを取得

String name = get(REST_ENDPOINT).then().body("items.name",hasItems("Kumar")).extract().path("items.empid").toString(); 

はまた、 は、私はと取得することで、試してみました

JSONArrayとJSONObjectを介して解析し、レスポンスを反復処理する必要がありますか?

お勧めします。

答えて

0

あなたはこの

response1.jsonPath().getList("collect { it.credentials.findAll { it.credentialType == 'Ban User Name'}.credentialId }.flatten()") 
のようなものを使用することができます
関連する問題