如何将JSON响应转换为Java List-使用Rest Assured进行API测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将JSON响应转换为Java List-使用Rest Assured进行API测试相关的知识,希望对你有一定的参考价值。

我有一个嵌套的JSON响应。 JsonResponse Screenshot

我想从列表中的第0个位置获取字典,然后从中获取特定元素。对于例如作为响应,{0}和{1},我希望得到完整的{0}。然后从{0}开始,我只想提取“Id”值。 我不想每次都使用JsonPath.read(JsonResponse String,JSON Path)。所以寻找一些简单而更好的选择。

如何将JSON响应转换为Java List。以下是回复。

Response resp = given().header("Authorization", "Bearer "+"dwded").
                accept(ContentType.JSON).
                when().
                get("https://example.com");      
                return resp;
答案

为了测试web-API或REST端点,我建议使用Karate

所以变得简单:

* def id = response[0].Id
另一答案

在招摇的编辑宠物例子中。

  responses:
    200:
      description: "successful operation"
      schema:
        type: "array"
        items:
          $ref: "#/definitions/Pet"

从中生成模型

  Pet:
    type: "object"
    properties:
      name:
        type: "string"
        example: "doggie"

这生成了一个java类

public class Pet   {

  @JsonProperty("name")
  private String name = null;

api显示一个REST,它返回一个可以显示为json对象数组的实体

    ResponseEntity<List<Pet>> findPetsByStatus( @NotNull@ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @RequestParam(value = "status", required = true) List<String> status);

以上是关于如何将JSON响应转换为Java List-使用Rest Assured进行API测试的主要内容,如果未能解决你的问题,请参考以下文章

java如何将json的数据转换为map或者list类型的?

怎样将JAVA中得list集合转换为javascript的二维数组?

如何将json字符串转换为数组

请问各位java中如何将数据库返回的多个字段值拼接为一个list并转换为json对象返回到前台,谢谢!

如何将字符串转换成javaBean

如何将这个JSON字符串转化成list对象