如何将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的二维数组?