我需要使用selenium和java读取API响应JSON文件。在得到http请求的响应之前,我已经得到了代码。但不确定如何进一步深入并获取消息正文。
如果我清楚地理解了你的问题,那么你要求阅读并验证你得到的回答。
最佳实践是为您的响应创建pojo类。例如,如果您的回复是以下格式的
{
"response":{
"userId": 1,
"firstName": "Suhail",
"lastName": "Ahmed",
}
"data": {},
"timestamp": "2022-07-27T11:21:55.347Z"
}
你需要创建一个pojo类。
GetUserDeatilsResponse.java
public class GetUserDeatilsResponse {
private UserDeatilsResponseAttr response;
private String data;
private String timestamp;
public UserDeatilsResponseAttr getUserDeatilsResponseAttr() {
return response;
}
public void setUserDeatilsResponseAttr(UserDeatilsResponseAttr response) {
this.response = response;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}
用户死亡响应属性.java
public class UserDeatilsResponseAttr{
private int userId;
private String firstName;
private String lastName;
public int getFirstName() {
return userId;
}
public void setFirstName(int userId) {
this.userId = userId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
为了验证lastName字段,在测试类中调用如下所示的响应
测试.类
public class Test{
@Test
public void test1(){
// get your response here
GetUserDeatilsResponse userDetailsResponse = response.as(GetUserDeatilsResponse.class);
System.out.println(userDetailsResponse.getUserDeatilsResponseAttr.getLastName())
}
}