我有一个JSON数组。像这样。
[
{
"id": 3110,
"title": {
"rendered": "Dr Abul Khair"
},
"medilink_degree": "Associate Professor
}
]
通过使用 retrofit,我可以得到 id
和 medilink_degree
在我的安卓应用程序中。但是 title
因为它的格式是这样的,所以不能被检索。
"title":{"rendered":"Dr Abul Khair"}
我是用 @SerializedName("id")
可是,怎么才能拿到题目呢?我用的是 @SerializedName("title.rendered")
. 它不工作。
请使用下面的模型类从API获取数据。
public class Title {
@SerializedName("rendered")
@Expose
private String rendered;
public String getRendered() {
return rendered;
}
public void setRendered(String rendered) {
this.rendered = rendered;
}
}
public class User {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("title")
@Expose
private Title title;
@SerializedName("medilink_degree")
@Expose
private String medilinkDegree;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Title getTitle() {
return title;
}
public void setTitle(Title title) {
this.title = title;
}
public String getMedilinkDegree() {
return medilinkDegree;
}
public void setMedilinkDegree(String medilinkDegree) {
this.medilinkDegree = medilinkDegree;
}
}
你可以看到下面的链接如何使用retrofit来获取数据的模型类。
https:/medium.com@prakash_punretrofit-a-simple-android-tutorial-48437e4e5a23。
你必须创建一个单独的名为Title的类,并在其中定义渲染变量。下面是参考代码。
public class DoctorProfile {
@SerializedName("id")
private int id;
@SerializedName("title")
private Title title;
@SerializedName("medilink_degree")
private String medilinkDegree;
//getter-setter methods
public static class Title {
@SerializeName("rendered")
private String rendered;
//getter-setter method
}
}
package com.example.product;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class CategoryResponse {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("title")
@Expose
private Title title;
@SerializedName("medilink_degree")
@Expose
private String medilinkDegree;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Title getTitle() {
return title;
}
public void setTitle(Title title) {
this.title = title;
}
public String getMedilinkDegree() {
return medilinkDegree;
}
public void setMedilinkDegree(String medilinkDegree) {
this.medilinkDegree = medilinkDegree;
}
}
你可以得到一个像下面的标题。
CategoryResponse categoryResponse= assign your reponse;
String title = categoryResponse.getTitle().getRendered();
Log.e("Title: ", ""+ title);
你可以创建你的响应pojo从 此处