can';是否将json转换为java pojo类?
我想将这个JSON转换成一个列表并插入到RecyclerView中,但我不能,因为它给了我3个类。 那么我如何将这个类转换为父类呢;有人能帮我吗?这样我就可以把回复列表放到RecyclerView中can';是否将json转换为java pojo类?,java,android,json,retrofit,Java,Android,Json,Retrofit,我想将这个JSON转换成一个列表并插入到RecyclerView中,但我不能,因为它给了我3个类。 那么我如何将这个类转换为父类呢;有人能帮我吗?这样我就可以把回复列表放到RecyclerView中 [ { "id": 114, "name_ar": "محمصه زين", "latitude": null, "longitude": null, "name_en": "Mohamsa Zein",
[
{
"id": 114,
"name_ar": "محمصه زين",
"latitude": null,
"longitude": null,
"name_en": "Mohamsa Zein",
"description_ar": "",
"description_en": "",
"phone": null,
"mobile": "01110881085",
"address_ar": "مدينتى، Egypt",
"address_en": "مدينتى، Egypt",
"photo": "5b7958dc1c3661534679260.jpg",
"album": null,
"created_at": {
"date": "2018-08-19 11:47:40.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"updated_at": {
"date": "2018-10-23 11:00:22.000000",
"timezone_type": 3,
"timezone": "UTC"
}
},
{
"id": 184,
"name_ar": "محل عصائر فيرتاس",
"latitude": null,
"longitude": null,
"name_en": "Varieties For Juice",
"description_ar": "",
"description_en": "",
"phone": null,
"mobile": "01024229935",
"address_ar": "مدينتى، Egypt",
"address_en": "مدينتى، Egypt",
"photo": null,
"album": null,
"created_at": {
"date": "2018-10-28 11:40:54.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"updated_at": {
"date": "2019-01-02 08:36:04.000000",
"timezone_type": 3,
"timezone": "UTC"
}
}
]
我的做法是: 使用GSON库 我创建了两个模型类
在
处创建,而在
处更新属性
类MyDate{
公共字符串日期;
公共国际时区_类型;
公共字符串时区
}
类信息{
公共字符串id;
公共字符串名称;
..//其他属性/。。
在创建的公共MyDate;
公共MyDate更新于;
}
List<Info> infoArray = new Gson().fromJson(stringJson, new TypeToken<List<Info>>(){}.getType());
List infoArray=new Gson().fromJson(stringJson,new TypeToken(){}.getType());
如果我正确理解了你的问题,我相信这就是你的意思。请用这个
public class TestRequest {
private UpdatedAtEntity updatedAt;
private CreatedAtEntity createdAt;
private String photo;
private String addressEn;
private String addressAr;
private String mobile;
private String descriptionEn;
private String descriptionAr;
private String nameEn;
private String nameAr;
private int id;
public UpdatedAtEntity getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(UpdatedAtEntity updatedAt) {
this.updatedAt = updatedAt;
}
public CreatedAtEntity getCreatedAt() {
return createdAt;
}
public void setCreatedAt(CreatedAtEntity createdAt) {
this.createdAt = createdAt;
}
public String getPhoto() {
return photo;
}
public void setPhoto(String photo) {
this.photo = photo;
}
public String getAddressEn() {
return addressEn;
}
public void setAddressEn(String addressEn) {
this.addressEn = addressEn;
}
public String getAddressAr() {
return addressAr;
}
public void setAddressAr(String addressAr) {
this.addressAr = addressAr;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getDescriptionEn() {
return descriptionEn;
}
public void setDescriptionEn(String descriptionEn) {
this.descriptionEn = descriptionEn;
}
public String getDescriptionAr() {
return descriptionAr;
}
public void setDescriptionAr(String descriptionAr) {
this.descriptionAr = descriptionAr;
}
public String getNameEn() {
return nameEn;
}
public void setNameEn(String nameEn) {
this.nameEn = nameEn;
}
public String getNameAr() {
return nameAr;
}
public void setNameAr(String nameAr) {
this.nameAr = nameAr;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public static class UpdatedAtEntity {
private String timezone;
private int timezoneType;
private String date;
public String getTimezone() {
return timezone;
}
public void setTimezone(String timezone) {
this.timezone = timezone;
}
public int getTimezoneType() {
return timezoneType;
}
public void setTimezoneType(int timezoneType) {
this.timezoneType = timezoneType;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
public static class CreatedAtEntity {
private String timezone;
private int timezoneType;
private String date;
public String getTimezone() {
return timezone;
}
public void setTimezone(String timezone) {
this.timezone = timezone;
}
public int getTimezoneType() {
return timezoneType;
}
public void setTimezoneType(int timezoneType) {
this.timezoneType = timezoneType;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
@Override
public String toString() {
return "TestRequest{" +
"updatedAt=" + updatedAt +
", createdAt=" + createdAt +
", photo='" + photo + '\'' +
", addressEn='" + addressEn + '\'' +
", addressAr='" + addressAr + '\'' +
", mobile='" + mobile + '\'' +
", descriptionEn='" + descriptionEn + '\'' +
", descriptionAr='" + descriptionAr + '\'' +
", nameEn='" + nameEn + '\'' +
", nameAr='" + nameAr + '\'' +
", id=" + id +
'}';
}
}
像这样创建pojo类
public abstract class TempClass {
@Expose
@SerializedName("updated_at")
private UpdatedAt updatedAt;
@Expose
@SerializedName("created_at")
private CreatedAt createdAt;
@Expose
@SerializedName("photo")
private String photo;
@Expose
@SerializedName("address_en")
private String addressEn;
@Expose
@SerializedName("address_ar")
private String addressAr;
@Expose
@SerializedName("mobile")
private String mobile;
@Expose
@SerializedName("description_en")
private String descriptionEn;
@Expose
@SerializedName("description_ar")
private String descriptionAr;
@Expose
@SerializedName("name_en")
private String nameEn;
@Expose
@SerializedName("name_ar")
private String nameAr;
@Expose
@SerializedName("id")
private int id;
public UpdatedAt getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(UpdatedAt updatedAt) {
this.updatedAt = updatedAt;
}
public CreatedAt getCreatedAt() {
return createdAt;
}
public void setCreatedAt(CreatedAt createdAt) {
this.createdAt = createdAt;
}
public String getPhoto() {
return photo;
}
public void setPhoto(String photo) {
this.photo = photo;
}
public String getAddressEn() {
return addressEn;
}
public void setAddressEn(String addressEn) {
this.addressEn = addressEn;
}
public String getAddressAr() {
return addressAr;
}
public void setAddressAr(String addressAr) {
this.addressAr = addressAr;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getDescriptionEn() {
return descriptionEn;
}
public void setDescriptionEn(String descriptionEn) {
this.descriptionEn = descriptionEn;
}
public String getDescriptionAr() {
return descriptionAr;
}
public void setDescriptionAr(String descriptionAr) {
this.descriptionAr = descriptionAr;
}
public String getNameEn() {
return nameEn;
}
public void setNameEn(String nameEn) {
this.nameEn = nameEn;
}
public String getNameAr() {
return nameAr;
}
public void setNameAr(String nameAr) {
this.nameAr = nameAr;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public static class UpdatedAt {
@Expose
@SerializedName("timezone")
private String timezone;
@Expose
@SerializedName("timezone_type")
private int timezoneType;
@Expose
@SerializedName("date")
private String date;
public String getTimezone() {
return timezone;
}
public void setTimezone(String timezone) {
this.timezone = timezone;
}
public int getTimezoneType() {
return timezoneType;
}
public void setTimezoneType(int timezoneType) {
this.timezoneType = timezoneType;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
public static class CreatedAt {
@Expose
@SerializedName("timezone")
private String timezone;
@Expose
@SerializedName("timezone_type")
private int timezoneType;
@Expose
@SerializedName("date")
private String date;
public String getTimezone() {
return timezone;
}
public void setTimezone(String timezone) {
this.timezone = timezone;
}
public int getTimezoneType() {
return timezoneType;
}
public void setTimezoneType(int timezoneType) {
this.timezoneType = timezoneType;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
}
现在像这样访问内部类。请在下面查看
ArrayList<TempClass> item = new ArrayList<>();
item.get(holder.getAdapterPosition()).getUpdatedAt().getDate();//here access the UpdatedAt class object method.
item.get(holder.getAdapterPosition()).getCreatedAt().getDate();// here access the CreatedAt class object method.
ArrayList item=new ArrayList();
item.get(holder.getAdapterPosition()).getUpdatedAt().getDate()//这里访问UpdatedAt类对象方法。
item.get(holder.getAdapterPosition()).getCreatedAt().getDate();//这里访问CreatedAt类对象方法。
您所说的三(3)类是什么意思?它是一个数组,上面有两个对象。你能提供你的类的信息吗?@MetaSnarf当我试图在这个网站上转换它时,它给了我3个类试试看!它将为您提供三个类,其中一个是整个响应的类,另外两个是创建并更新的类_at@RakshitNawani是的,我知道,我需要做的是让一个家长给我完整的答案!你知道怎么做吗!如何制作包含id和名称的父数组。。ect@MohamedElFwakhry如果您的响应类名是Info,那么将其作为List@MohamedElFwakhry,父数组将是Info
类。请注意,它包含MyDate
类类型的在
创建的属性和在
更新的属性。