如何在 json 中找到响应对象的数量

how to find the number of response object in json

我有一个 JSON 响应需要验证。我正在编写一个测试 secario,我想在其中断言响应是否包含对象数量。 JSON 回复:

{
  "Result": {
    "resultCode": "1000",
  },
  "ResultClient": {
    "responseCode": null,
    "statusCode": null
  },
  "creditCard": {
    "number": null
  }
}

我想断言响应有 3 个对象。怎么做?响应 obj 没有 size()count(),所以我无法理解 solution.I 的路径,我正在放心地编写我的测试。

TestResponse testResponse = given()
                .contentType("application/json; charset=UTF-8")
                .body(cTestRequest)
                .when()
                .post(uri)
                .as(TestResponse.class);

现在如何断言json包含3个obj和objs中的参数?

你可以这样做:

when().
       get("/x").
then().
       body("keySet().size()", is(3));

原因是 JSON 对象被视为 Groovy Map,因此您可以在其上调用函数。 keySet() returns 所有键为 Setsize() returns 这个 Set.

的大小