在解析过程中遇到的错误:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 33
找了很久的错,最后终于锁定了问题之处,我要解析的数据如下,使用的是Gson解析,方便快键,不过是第一次使用所以难免会遇到很多解析方面的问题。
"result": [
{
"time": 1452649939000,
"students": {
"classes": {
"institutes": null,
"courseses": [],
"classNo": null,
"major": "网络工程",
"name": "12级网络工程"
},
"sex": "男",
"phone": "15766227609",
"studentNo": "201224132129",
"picUrl": "/StudentAttendance/resources/user_picture/201224132129.png",
"email": "12345678@qq.com",
"name": "HaHa",
"password": "c4ca4238a0b923820dcc509a6f75849b"
},
"flag": 3,
"courses": {
"classes": null,
"courseNo": "4004",
"teachers": null,
"name": "数据库-12级网络工程"
},
"attendanceNo": 6
},
{
"time": 1452649939000,
"students": {
"classes": {
"institutes": null,
"courseses": [],
"classNo": null,
"major": "网络工程",
"name": "12级网络工程"
},
"sex": "男",
"phone": "15766227608",
"studentNo": "201224132128",
"picUrl": "/StudentAttendance/resources/user_picture/201224132128.png",
"email": "lizuwen@163.com",
"name": "LIli",
"password": "c4ca4238a0b923820dcc509a6f75849b"
},
"flag": 3,
"courses": {
"classes": null,
"courseNo": "4004",
"teachers": null,
"name": "数据库-12级网络工程"
},
"attendanceNo": 5
}
因为从服务器得到的Json字符串中的时间,是为时间戳类型,为了方便得到时间我不使用long类型的变量,也同样使用的是时间戳,但却出错了,之前也是按照同样的Gson解析对象解析这大概类型的数据,只是解析出来的对象不同,之前就可以成功的解析出来,但这次却不行,首先检查了自己的构建的对象是否有错,一个对照一个的检查,没错。之后有上网搜索了这中类型的错,但都没能解决我的问题,这类型的错误的答案是少之又少,尽管有,但和自己的却不相同。但我也同样按照其解决的方法套用到自己的工程里,却还是没能解决。极度郁闷之下,为了设计的进度,不得不使用long类型的变量来解析,之后再将long类型转换Date类型。最后在今天无意之间就发现了问题所在!!!原来是我的时间戳的包导错了!!!汗!!!
错误的包:
import java.security.Timestamp;
正确的包:
import java.sql.Timestamp;
换了之后问题就解决了!!!