转载请标明出处:http://blog.csdn.net/xiejinquan_/article/details/52002196
Gson将jsonobject的字符转化为Bean类或者将jsonarray的字符串转化为List<Bean>类报出下列错误
07-23 08:04:21.247 13743-13743/com.jesse.volleydemo E/TAG: com.google.gson.JsonSyntaxException: 20160703000000
com.android.volley.VolleyError: com.google.gson.JsonSyntaxException: 20160703000000
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:143)
Caused by: com.google.gson.JsonSyntaxException: 20160703000000
at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:81)
at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:66)
at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:41)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
at com.google.gson.Gson.fromJson(Gson.java:803)
at com.google.gson.Gson.fromJson(Gson.java:768)
at com.google.gson.Gson.fromJson(Gson.java:717)
at com.google.gson.Gson.fromJson(Gson.java:689)
at com.jesse.volleydemo.volley.GsonRequest.parseNetworkResponse(GsonRequest.java:42)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:125)
Caused by: java.text.ParseException: Unparseable date: "20160703000000" (at offset 14)
at java.text.DateFormat.parse(DateFormat.java:555)
at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:79)
at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:66)
at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:41)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
at com.google.gson.Gson.fromJson(Gson.java:803)
at com.google.gson.Gson.fromJson(Gson.java:768)
at com.google.gson.Gson.fromJson(Gson.java:717)
at com.google.gson.Gson.fromJson(Gson.java:689)
at com.jesse.volleydemo.volley.GsonRequest.parseNetworkResponse(GsonRequest.java:42)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:125)
原因在于引入Gson将jsonobject的字符转化为Bean类或者将jsonarray的字符串转化为List<Bean>类
由于转化过程中不能包括Date类型,所以报错
解决
实体类出现日期时候,类型不要定义为date,定义为String
public class User {
private String userId;
private String userName;
private Date userBirthday;
private Double userSalary;
将userName的类型转换为String
public class User {
private String userId;
private String userName;
private String userBirthday;
private Double userSalary;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)