Gson JsonSytaxException

gson.fromJson(String json, Class 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系统还没去试)

你可能感兴趣的:(json,gson)