Android GSON字段命名,实例化后自动调用方法
例如,我有一门课:Android GSON字段命名,实例化后自动调用方法,android,gson,Android,Gson,例如,我有一门课: public static class News implements Comparable<News>, Parcelable { static DateFormat df = new SimpleDateFormat("dd-MM-yyyy"); @SerializedName("Published") public String DateStr; MyDate date;
public static class News implements Comparable<News>, Parcelable {
static DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
@SerializedName("Published")
public String DateStr;
MyDate date;
public void callItAfterInstantiate(){
if(date == null){
java.util.Date parsed;
try {
parsed = df.parse(DateStr);
date = new MyDate(parsed.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
}
}
{...}
}
但date=null
实例化后,我需要自动调用callitafterInstance
。可能吗?字段MyDate
仅作为示例。在实际项目中,可以有另一个逻辑,它应该在创建后自动调用
或者一种可能的解决方案是在实例化之后直接调用方法
news.callItAfterInstantiate();
好的,这里有两种方法,第一种方法将告诉默认的gson解析器如何解析日期对象
public static class News implements Comparable<News>, Parcelable {
public static DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
@SerializedName("Published")
Date date;
//.....
}
//then you parse your data like this
final GsonBuilder gsonBuilder = new GsonBuilder();
//use your date pattern
gsonBuilder.setDateFormat(df.toPattern());
final Gson gson = gsonBuilder.create();
News news = gson.fromJson(json, News.class);
希望这会有所帮助,好的,这里有两种方法,第一种方法告诉默认的gson解析器如何解析日期对象
public static class News implements Comparable<News>, Parcelable {
public static DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
@SerializedName("Published")
Date date;
//.....
}
//then you parse your data like this
final GsonBuilder gsonBuilder = new GsonBuilder();
//use your date pattern
gsonBuilder.setDateFormat(df.toPattern());
final Gson gson = gsonBuilder.create();
News news = gson.fromJson(json, News.class);
希望这会有所帮助,好的,这里有两种方法,第一种方法告诉默认的gson解析器如何解析日期对象
public static class News implements Comparable<News>, Parcelable {
public static DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
@SerializedName("Published")
Date date;
//.....
}
//then you parse your data like this
final GsonBuilder gsonBuilder = new GsonBuilder();
//use your date pattern
gsonBuilder.setDateFormat(df.toPattern());
final Gson gson = gsonBuilder.create();
News news = gson.fromJson(json, News.class);
希望这会有所帮助,好的,这里有两种方法,第一种方法告诉默认的gson解析器如何解析日期对象
public static class News implements Comparable<News>, Parcelable {
public static DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
@SerializedName("Published")
Date date;
//.....
}
//then you parse your data like this
final GsonBuilder gsonBuilder = new GsonBuilder();
//use your date pattern
gsonBuilder.setDateFormat(df.toPattern());
final Gson gson = gsonBuilder.create();
News news = gson.fromJson(json, News.class);
希望这会有所帮助您好,您不需要将日期字符串从json解析到日期对象吗?如果是这样的话,我可以给你一个如何做的提示it@medhdjwill是goodHi,您不需要将日期字符串从json解析到日期对象吗?如果是这样的话,我可以给你一个如何做的提示it@medhdjwill是goodHi,您不需要将日期字符串从json解析到日期对象吗?如果是这样的话,我可以给你一个如何做的提示it@medhdjwill是goodHi,您不需要将日期字符串从json解析到日期对象吗?如果是这样的话,我可以给你一个如何做的提示it@medhdj在这个JSON中会很好,我有不同日期格式的数据=/ah,如果需要,您可以为MyDate类定义一个反序列化程序,然后像注册NewsDeserializer一样注册它。或者在NewsDeserializer(第二个解决方案)中,在解析字符串date之后,您可以创建MyDate对象在这个JSON中,我有不同日期格式的数据=/ah,您可以为MyDate类定义一个反序列化器(如果您愿意),然后像我们为NewsDeserializer所做的那样注册它。或者在NewsDeserializer(第二个解决方案)中,在解析字符串date之后,您可以创建MyDate对象在这个JSON中,我有不同日期格式的数据=/ah,您可以为MyDate类定义一个反序列化器(如果您愿意),然后像我们为NewsDeserializer所做的那样注册它。或者在NewsDeserializer(第二个解决方案)中,在解析字符串date之后,您可以创建MyDate对象在这个JSON中,我有不同日期格式的数据=/ah,您可以为MyDate类定义一个反序列化器(如果您愿意),然后像我们为NewsDeserializer所做的那样注册它。或者在解析字符串日期后,在NewsDeserializer(第二个解决方案)中创建MyDate对象