开发者社区> 问答> 正文

GSON 解析?报错

android 在解析GSON的时候遇到时间{"allocationTime":{"time":1365383918000,"minutes":18,"seconds":38,"hours":9,"month":3,"year":113,"timezoneOffset":-480,"day":1,"date":8}}数据时总是报错,忘各位不吝赐教,同时如果将JSON直接转化为对象 的更好的方法也希望各位多多指教

展开
收起
爱吃鱼的程序员 2020-06-22 20:30:33 469 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    publicstatic<T>TgetEntities(Stringjson,TypeToken<T>token)throwsJSONException{
    if(StringUtil.isNil(json)){
    returnnull;
    }
    GsonBuildergsonBuilder=newGsonBuilder();
    gson=(gson!=null?gson:newGson());
    gson=gsonBuilder.registerTypeAdapter(Calendar.class,
    newCalendarSerializer()).setDateFormat("yyyy-MM-dd").create();
    TypecollectionType=token.getType();
    returngson.fromJson(json,collectionType);
    }



    publicstaticclassCalendarSerializerimplements

    JsonDeserializer<Calendar>{
    @Override
    publicCalendardeserialize(JsonElementjson,TypetypeOfT,
    JsonDeserializationContextcontext)throwsJsonParseException{
    SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
    StringdateStr=json.getAsString();
    Calendarcalendar=Calendar.getInstance();
    try{
    calendar.setTime(format.parse(dateStr));
    }catch(java.text.ParseExceptione){
    e.printStackTrace();
    }
    returncalendar;
    }
    }
    getJSONString ()

    引用来自“YeaWind”的答案

    getJSONString ()
    2020-06-22 20:30:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像