解释如何使用 JSONPath 提取值。
rest assuredjsondynamic programming更新于 2025/11/6 16:30:00
我们可以使用 Rest Assured 中的 JsonPath 来提取值。这是在 jsonPath 方法(它是 JsonPath 类的一部分)的帮助下完成的。之后,我们需要使用 get 方法并传递我们想要从 JSON 响应中获取的密钥。
我们首先通过 Postman 在端点上发送 GET 请求并观察 JSON 响应。这里的键是 userId、id、title 和 body。

示例
代码实现
import org.testng.annotations.Test;
import static io.restassured.RestAssured.*;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
public class NewTest {
@Test
void getValueJsonPath() {
//基本 URL
RestAssured.baseURI = "https://jsonplaceholder.typicode.com";
RestAssured.basePath = "/posts";
//获取 JSON 格式的响应
Response r = given().contentType(ContentType.JSON)
.log().all().get("/2");
//JsonPath 类
JsonPath p = r.jsonPath();
//获取 JSON 字段
String u = p.getString("userId");
String i = p.getString("id");
String t = p.get("title");
String b = p.get("body");
System.out.println("User Id: " + u);
System.out.println("Id: " + i);
System.out.println("Title: " + t);
System.out.println("Body: " + b);
}
}
输出


