今天解析json数据的时候出错了。 Invalid time zone indicator '6' (at offset 0) 也配置了Gson的setDateFormat格式 ,然而并没有用 最后还是加了registerTypeAdapter,这下通用了
1private static final Gson gson = new GsonBuilder() 2 //.setDateFormat("yyyy-MM-dd 'T' HH:mm:ss 'Z'") 3 //.setDateFormat("yyyy-MM-dd HH:mm:ss") 4 .registerTypeAdapter(Date.class,new DateDeserializer()) 5 .create(); 6 7 8private static class DateDeserializer implements JsonDeserializer<Date> { 9 10 private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 11 12 @Override 13 public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { 14 if (json != null) { 15 final String jsonString = json.getAsString(); 16 try { 17 return dateFormat.parse(jsonString); 18 } catch (ParseException e) { 19 e.printStackTrace(); 20 } 21 final long jsonLong= json.getAsLong(); 22 try { 23 return new Date(jsonLong); 24 } catch (Exception e) { 25 e.printStackTrace(); 26 } 27 } 28 return null; 29 } 30 }