gson.fromJson(String json, Class<T> classOfT)
处理日期格式时,在windows
系统下正常。而在linux
系统中,出现异常,解析失败。
原因是二者的日期格式不统一。为了避免出现这样的问题,可以使用GsonBuilder
来创建Gson
对象,在创建过程中调用GsonBuilder.setDateFormat(String)
指定一个固定的格式:
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
过程总结:在排查问题过程中,Gson的时间格式化最终调式是JDK自带的SimpleDateFormat来做的,SimpleDateFormat对象是通过DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM)方法获得,与本地操作系统时间格式有关(但是在window下怎么改系统时间格式都不会出现JsonSytaxException异常,linux系统还没去试)