从响应的根级别之外获取数据

时间:2018-03-20 14:51:08

标签: java rest-assured rest-assured-jsonpath

我仍然是REST的新手,并且还没有能够解决这个问题。

我有这样的答复:

{
    "StatusCode": 200,
    "Result": {
        "CustomerStuff": {
            "Name": "John",
            "State": "Oregon",
            "GetEmail": false
        },
        "eText": "Will only get paper mail. "
    }
}

我通常会将响应主体保存为字符串,然后使用JsonPath获取我需要的内容。

String responseBody = given().body().when().etc...;
JsonPath jsonPath = new JsonPath(responseBody).setRoot("Result.CustomerStuff");

然后得到我需要的东西:

String name = jsonPath.get("name");

我无法弄清楚如何获得" eText"值。它不在响应的同一部分。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

你应该使用

JsonPath jsonPath = new JsonPath(responseBody).setRoot("Result")

然后调用jsonPath.get("eText")以获取所需的值。 您仍然可以使用jsonPath.get("CustomerStuff")

访问CustomerStuff