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

Get data from outside the root level of response

我对 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" 值。它不在响应的同一部分。

有什么建议吗?

你应该使用

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

然后调用jsonPath.get("eText")以获得你想要的值。 您仍然可以使用 jsonPath.get("CustomerStuff")

访问 CustomerStuff