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对象