Java 请放心:无法将响应转换为objectsRe数组
我有以下POJO课程:Java 请放心:无法将响应转换为objectsRe数组,java,json,rest-assured,Java,Json,Rest Assured,我有以下POJO课程: public class AdcServerGroupsResponse { private Object availabilityGroup; private String cloud; private Object fqdns; private String groupType; private String healthCheck; private String name; private Object scalingGroup;
public class AdcServerGroupsResponse {
private Object availabilityGroup;
private String cloud;
private Object fqdns;
private String groupType;
private String healthCheck;
private String name;
private Object scalingGroup;
private String selectionMetric;
private List<String> serverAddresses = null;
private List<Object> serverSubnet = null;
//Getters\Setters
}
这是我尝试使用响应值进行验证的方法:
public void serverAddressesDoesntContain(String wrong_ip, String username) {
response = UserDataMap.SINGLETON.getResponsePerUser(username);
AdcServerGroupsResponse[] adcServerGroupsResponse = response.as(AdcServerGroupsResponse[].class);
.
.
}
当我使用
response.getBody().asString()
我得到了如上所述的确切json字符串
但是在我执行方法中的第二个命令之后
adcServerGroupsResponse = response.as(AdcServerGroupsResponse[].class);
评估
adcServerGroupsResponseList.get(0)
我明白了
顺便说一句
及
List adcServerGroupsResponses=response.jsonPath().getList(“,AdcServerGroupsResponse.class”);
给了我同样的结果
为什么呢
请告知。
谢谢 这是因为json属性名称和类成员名称之间的命名不匹配。它们必须相同。因此,例如,与类中的
availabilityGroup
和json中的availability\u group
不同,成员名称也必须是availability\u group
字段在ADCServerGroups响应类中应该是public
而不是private
。我会查一查的。@Fenio谢谢你的提示。不幸的是,这没有帮助。我还可以说,我还有其他POJO,其中的成员都是私人的,而且仍然运作良好。
adcServerGroupsResponseList.get(0)
availabilityGroup = null
cloud = "1"
fqdns = null
groupType = null
healthCheck = null
name = "t1app1"
scalingGroup = null
selectionMetric = null
serverAddresses = null
serverSubnet = null
response.getBody().as(AdcServerGroupsResponse[].class)
List<AdcServerGroupsResponse> adcServerGroupsResponses = response.jsonPath().getList("", AdcServerGroupsResponse.class);