Java 我应该如何定义与Gson的协议的模型类?
我有以下JSON:Java 我应该如何定义与Gson的协议的模型类?,java,android,json,gson,Java,Android,Json,Gson,我有以下JSON: { _id: "5252fdf424f1e7fbf7000004", address: "Calle 1000", city: "Concepción", created_at: "2013-10-07T18:31:19.375Z", description: "", name: "Joctos", phone: "94967994", updated_at: "2013-12-09T13:03:07.328
{
_id: "5252fdf424f1e7fbf7000004",
address: "Calle 1000",
city: "Concepción",
created_at: "2013-10-07T18:31:19.375Z",
description: "",
name: "Joctos",
phone: "94967994",
updated_at: "2013-12-09T13:03:07.328Z",
happy_hour: {
active: false,
type: 1,
all_day: false,
start: "2013-12-17T03:30:00.000Z",
end: "2013-12-17T05:00:00.000Z"
}
}
告诉他们接收并使用JSON GSON让我相信一个对象,问题是该对象是如何定义的
public class StoreModel {
@SerializedName("_id")
private String _id;
@SerializedName("address")
private String address;
@SerializedName("city")
private String city;
@SerializedName("created_at")
private String created_at;
@SerializedName("description")
private String description;
@SerializedName("name")
private String name;
@SerializedName("phone")
private String phone;
@SerializedName("updated_at")
private String updated_at;
public String get_id() {
return this._id;
}
public void set_id(String _id) {
this._id = _id;
}
public String getAddress() {
return this.address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCity() {
return this.city;
}
public void setCity(String city) {
this.city = city;
}
public String getCreated_at() {
return this.created_at;
}
public void setCreated_at(String created_at) {
this.created_at = created_at;
}
public String getDescription() {
return this.description;
}
public void setDescription(String description) {
this.description = description;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return this.phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getUpdated_at() {
return this.updated_at;
}
public void setUpdated_at(String updated_at) {
this.updated_at = updated_at;
}
}
我应该如何定义我的模型以获取“happy_hours”数据?StoreModel类将包含happy_hours的对象创建一个具有适当属性的HappyHours类,并将HappyHours属性添加到StoreModel中:
@SerializedName("happy_hours")
private HappyHours happyHours;
对于日期对象,请尝试“日期开始”和“日期结束”
如果它不工作,您必须编写一个适配器:
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Date.class, new DateGsonDeserializer());
gsonBuilder.create();
public class DateGsonDeserializer implements JsonDeserializer<Date> {
@Override
public Date deserialize(final JsonElement jsonElement, final Type type, final JsonDeserializationContext context) throws JsonParseException {
// just write the right formatter from SimpleDateFormat
return formatToDate(jsonElement.getAsString())
}
}
GsonBuilder GsonBuilder=new GsonBuilder();
gsonBuilder.registerTypeAdapter(Date.class,新的DateGsonDeserializer());
gsonBuilder.create();
公共类DateGsonDeserializer实现JsonDeserializer{
@凌驾
公共日期反序列化(最终JsonElement JsonElement、最终类型类型、最终JsonDeserializationContext上下文)引发JsonParseException{
//只需从SimpleDataFormat编写正确的格式化程序
返回formatToDate(jsoneElement.getAsString())
}
}
您可以使用与其他键类似的方式为“happy_hour”创建getter setter。如何键入属性“start”和“end”?如何键入属性“start”和“end”?