java - 改造 2:从响应数组中提取值
问题描述
我试图在改造 2 中从我的 Get Call 的响应正文中提取一个值。我想提取每个“id”但我不能从 Response 类中调用 getter,我认为它可能与 [] 中的响应类,当我删除 [] 它返回杰克逊错误所以我似乎被卡住了
称呼:
public interface RetrofitCallsGetFavourites {
@GET("diagnosis/configuration")
Call<GetFavouritesReponse[]> getDiagnosisFavourites (@Query("favourite") Boolean fave,
@Header("Authorization") String authHeader);
}
这是我使用的方法,它不会让我调用任何 getter
public class LoginApiStepDefinition extends TestBaseFix {
Retrofit retrofit = super.buildRetrofit(super.buildOkHttpClient());
RetrofitCallsLogin call = retrofit.create(RetrofitCallsLogin.class);
RetrofitCallsGetFavourites favecall = retrofit.create(RetrofitCallsGetFavourites.class);
@Then("I get the list of favourites with {string} and {string}")
public void iGetTheListOfFavouritesWithAnd(String username, String password) throws Exception {
String auth = "Bearer " + LoginApi(username,password);
String list = favecall.getDiagnosisFavourites(true,auth).execute().body().toString();
System.out.println(list);
}
}
响应体类
public class GetFavouritesReponse {
@JsonProperty("id")
private Integer id;
@JsonProperty("version")
private Integer version;
@JsonProperty("createdDate")
private Object createdDate;
@JsonProperty("modifiedDate")
private Object modifiedDate;
@JsonProperty("rie")
private Boolean rie;
@JsonProperty("diagnosisName")
private String diagnosisName;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("id")
public Integer getId() {
return id;
}
@JsonProperty("id")
public void setId(Integer id) {
this.id = id;
}
@JsonProperty("version")
public Integer getVersion() {
return version;
}
@JsonProperty("version")
public void setVersion(Integer version) {
this.version = version;
}
@JsonProperty("createdDate")
public Object getCreatedDate() {
return createdDate;
}
@JsonProperty("createdDate")
public void setCreatedDate(Object createdDate) {
this.createdDate = createdDate;
}
@JsonProperty("modifiedDate")
public Object getModifiedDate() {
return modifiedDate;
}
@JsonProperty("modifiedDate")
public void setModifiedDate(Object modifiedDate) {
this.modifiedDate = modifiedDate;
}
@JsonProperty("rie")
public Boolean getRie() {
return rie;
}
@JsonProperty("rie")
public void setRie(Boolean rie) {
this.rie = rie;
}
@JsonProperty("diagnosisName")
public String getDiagnosisName() {
return diagnosisName;
}
@JsonProperty("diagnosisName")
public void setDiagnosisName(String diagnosisName) {
this.diagnosisName = diagnosisName;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
这是返回的示例,调用正常工作我只是无法正确解析信息,我试图提取所有 id
[ {
"id" : 15,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Angina pectoris - Angina pectoris with documented spasm"
}, {
"id" : 14,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Angina pectoris - Unstable angina"
},{
"id" : 22,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Seropositive rheumatoid arthritis - Seropositive rheumatoid arthritis, unspecified
Pelvic region and thigh"
}, {
"id" : 27,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Test Diagnosis Cardiology"
}, {
"id" : 26,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Test Diagnosis with Service"
} ]
解决方案
推荐阅读
- javascript - canvas js中的显示问题
- c# - Azure C# Cosmos DB:属性“id”在实际存在时丢失
- php - 尝试存储数据时的参数 #2,Laravel 8
- magento2 - 我们如何在 Windows 10 平台上安装 Magento2?如何解决自动加载错误?
- sql - 修剪动态列值
- php - 正则表达式替换以防 beetwen 确定字符(PHP)
- python - 如何在数据框火花中使用 groupby 按计数排序
- javascript - 过滤对象javascript的嵌套数组
- azure - Azure ApplicationGateWay requestRoutingRules 在已定义时不是引用
- reactjs - 根据另一个 ag-grid 中的选定行过滤 ag-grid