如何使用 Rest Assured 遍历和访问 JSON 数组元素?


我们可以使用 Rest Assured 遍历和访问 JSON 数组元素。首先,我们将获取一个 JSON 格式的响应主体。然后将其转换为字符串。

要获取 JSON 数组大小,我们必须对 JSON 数组使用 size 方法。然后引入一个循环,遍历到数组大小。我们将通过 Postman 对一个模拟 API 发送 GET 请求,并观察响应。

使用 Rest Assured,让我们获取具有 State 和 zip 值的 Location 字段值。它们是 JSON 数组 - Location 的一部分。

示例

代码实现

import static io.restassured.RestAssured.given;
import org.testng.annotations.Test;
import io.restassured.RestAssured;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
public class NewTest {
   @Test
   public void jsonIterateArr() {

      //base URI with Rest Assured class
      RestAssured.baseURI = "https://run.mocky.io/v3";

      //obtain Response from GET request
      Response res = given()
         .when()
         .get("/8ec8f4f7-8e68-4f4b-ad18-4f0940d40bb7");

      //convert JSON to string
      JsonPath j = new JsonPath(res.asString());

      //get values of JSON array after getting array size
      int s = j.getInt("Location.size()");
      for(int i = 0; i < s; i++) {
         String state = j.getString("Location["+i+"].State");
         String zip = j.getString("Location["+i+"].zip");
         System.out.println(state);
         System.out.println(zip);
      }
   }
}

输出

更新时间:2021 年 11 月 17 日

10K+ 次观看

开启你的 职业

完成课程并获得认证

开始学习
广告