使用放心通过Json响应解析

时间:2018-04-09 11:27:11

标签: json rest web-services rest-assured rest-assured-jsonpath

我想解析我的JSON响应以验证我获得的响应。

 [
    {
        "Emp": "00000",
        "Emp_ID": 901,
        "First_Name": "agar",
        "Last_Name": "vedi",
        "Country": "India",
        "EmpLocation": "Noida"
    },
    {
        "Emp": "001",
        "Emp_ID": 383,
        "First_Name": "Manoj",
        "Last_Name": "jee"
        "Country": "India",
        "EmpLocation": "Noida"
    }
]

现在,我正在使用Rest-assured java API, 我浏览了关于toolsQA的教程,他们正在使用

Response response = httpRequest.request(Method.GET, "/Hyderabad");

对于Json: -

{
    “City”: “Hyderabad”,
    “Temperature”: “31.49 Degree celsius”,
    “Humidity”: “62 Percent”,
    “Weather Description”: “scattered clouds”,
    “Wind Speed”: “3.6 Km per hour”,
    “Wind Direction degree”: “270 Degree”
   }

现在这个响应是一个JSON对象。 但我的是嵌套在JSON数组中。

如何解析这些嵌套的Json对象和数组?因为Json响应可以包含在Array和Objects的所有组合中。

他们的方法是否有保证,它提供了与钥匙相对应的价值? 例如:" key":" value" 我转到密钥并通过该方法获取值?

感谢。

1 个答案:

答案 0 :(得分:1)

如果您已将JSON映射到PoJo,则只需将请求更改为:

City[] cities = given()
                    .when()
                    .get("/Hyderabad")
                    .then()
                    .response()
                    .getBody()
                    .as(City[].class);

这就是RestAssured如何反序列化对象数组。您需要将其映射到对象阵列。