我们可以在同一个方法中使用 io.restassured 和 jayway 吗?

Can we use io.restassured and jayway in the same method?

当我有数组作为响应时,使用 Jayway 获得正确的结果,但使用 io.restassured 却不行?我可以同时使用 Jayway 和 io.restassured 吗?这是可以接受的/好的做法吗?

JSON 响应:

   {"applications": [
      {
      "Id": "123",
      "amount": "1500"
   },
      {
      "Id": "456",
      "amount": "2500"
   },
      {
      "Id": "780",
      "amount": "3500"
   }
]}

寻找金额 2500 作为我的结果! 在下面尝试过: // 第一种读取响应表单 json 正文的方法 JsonPath jsonPath = res.jsonPath(); System.out.println(jsonPath.get("$.applications[1].amount")); //结果为空,使用io.restassured JsonPath

//读取响应表单的第二种方法json正文 JsonPath jsonPath1 = JsonPath.from(res.asString()); System.out.println(jsonPath1.getString("$.applications[1].amount")); //结果为空,使用io.restassuredJsonPath

//读取响应表单的第三种方法json正文 System.err.println(JsonPath.read(res.asString(),"$.login")); // 结果 2500,使用 jaywayJsonPath

有多种提取值的方法

    // Method 1
    String res = given().when().get("http://soapractice1.mocklab.io/thing/test").then().extract().asString();
    JsonPath js = new JsonPath(res);
    System.out.println("The amount is : " + js.get("applications[1].amount"));

    // Method 2
    Response resp = given().when().get("http://soapractice1.mocklab.io/thing/test").then().extract().response();
    JsonPath js1 = resp.jsonPath();
    System.out.println("The amount is : " + js.get("applications[1].amount"));

    // Method 3
    String amount = given().when().get("http://soapractice1.mocklab.io/thing/test").then().extract().jsonPath().get("applications[1].amount");
    System.out.println("The amount is : " + amount);