如何使用 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); } } }