从响应的根级别之外获取数据
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
我对 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")