如何使用 Rest Assured 迭代并访问 JSON 数组元素?

rest assureddynamic programmingprogramming更新于 2025/4/5 15:52:17

我们可以使用 Rest Assured 迭代并访问 JSON 数组元素。首先,我们将从请求中获取 JSON 格式的响应主体。然后将其转换为字符串。

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

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

示例

代码实现

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() {

      //带有 Rest Assured 类的基本 URI
      RestAssured.baseURI = "https://run.mocky.io/v3";

      //从GET请求获取响应
      Response res = given()
      .when()
      .get("/8ec8f4f7-8e68-4f4b-ad18-4f0940d40bb7");

      //将JSON转换为字符串
      JsonPath j = new JsonPath(res.asString());

      //获取数组大小后获取JSON数组的值
      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);
      }
   }
}

输出


相关文章