如何在嵌套的 JSON 中使用 Rest Assured 获取 JSON 数组字段?


我们可以使用 Rest Assured 在嵌套的 JSON 中获取 JSON 数组字段。首先,我们要从请求中获取一个 JSON 格式的响应内容。然后将其转换为字符串。

最后,要获取特定的数组值,我们要使用数组索引后跟字段名。我们将在模拟 API 上通过 Postman 发送 GET 请求,并观察响应。

使用 Rest Assured,让我们获取值 49086 的第二个 zip 字段。它是 Location 数组中第二个 JSON 的一部分。我们将通过遍历路径 Location[1].zip 来获取第二个 zip 的值。

示例

代码实现

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

      //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());

      //Zip for 2nd Location array
      String zip = j.getString("Location[1].zip");
      System.out.println("Zip for 2nd Location array: " + zip);
   }
}

输出

更新于:2021 年 11 月 17 日

5,000+ 阅读

开启你的 职业生涯

完成课程,获得认证

开始吧
广告