如何使用 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); } } }
输出
广告