首先,Gson是可以完美的解析N层夹套的数组的。
解析一个两层嵌套的数组,一直出现如下错误:
6-25 22:04:55.596 17974-17974/cn.usmaker.hm.pai E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: cn.usmaker.hm.pai, PID: 17974
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2378 path $[2].imgItems
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:200)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
at com.google.gson.Gson.fromJson(Gson.java:810)
at com.google.gson.Gson.fromJson(Gson.java:775)
at com.google.gson.Gson.fromJson(Gson.java:724)
at com.google.gson.Gson.fromJson(Gson.java:696)
at cn.usmaker.hm.pai.activity.OneCityActivity$1.onResponse(OneCityActivity.java:221)
at cn.usmaker.hm.pai.activity.OneCityActivity$1.onResponse(OneCityActivity.java:173)
at cn.usmaker.hm.pai.velloy.NormalPostRequest.deliverResponse(NormalPostRequest.java:52)
at cn.usmaker.hm.pai.velloy.NormalPostRequest.deliverResponse(NormalPostRequest.java:19)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)
at dalvik.system.NativeStart.main(Native Method)
测试的数据如下:
{
"success": true,
"msg": "操作成功!",
"infor": {
"totalCount": 5,
"listItems": [
{
"id": "5",
"regdate": "2014-10-30 11:31:43",
"content": "Helloa",
"imgcount": "4",
"imgurl": "http://192.168.2.146:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131468449_thumb.png",
"imgurlbig": "http://192.168.2.146:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131468449.jpg",
"avatar": null,
"nickname": "cloud",
"sex": "女",
"imgItems": [
{
"id": "3",
"client_id": "2",
"content": null,
"keytype": "2",
"keyid": "5",
"imgurl": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131468449_thumb.png",
"imgurlbig": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131468449.jpg",
"orderby": "0",
"regdate": "2014-10-30 11:31:46"
},
{
"id": "4",
"client_id": "2",
"content": null,
"keytype": "2",
"keyid": "5",
"imgurl": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131481580_thumb.png",
"imgurlbig": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131481580.jpg",
"orderby": "1",
"regdate": "2014-10-30 11:31:48"
},
{
"id": "5",
"client_id": "2",
"content": null,
"keytype": "2",
"keyid": "5",
"imgurl": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131513162_thumb.png",
"imgurlbig": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131513162.jpg",
"orderby": "2",
"regdate": "2014-10-30 11:31:51"
},
{
"id": "6",
"client_id": "2",
"content": null,
"keytype": "2",
"keyid": "5",
"imgurl": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131536060_thumb.png",
"imgurlbig": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410301131536060.jpg",
"orderby": "3",
"regdate": "2014-10-30 11:31:53"
}
],
"goodflag": 0
},
{
"id": "4",
"regdate": "2014-10-27 11:09:49",
"content": "水街",
"imgcount": "1",
"imgurl": null,
"imgurlbig": null,
"avatar": "http://124.128.23.74:8008/group8/hm_9pai/uploadfiles/2015/06/201506251422305115_thumb.png",
"nickname": "tien",
"sex": "男",
"imgItems": [
{
"id": "2",
"client_id": "8",
"content": null,
"keytype": "2",
"keyid": "4",
"imgurl": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410271109504759_thumb.jpg",
"imgurlbig": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410271109504759.jpg",
"orderby": "1",
"regdate": "2014-10-27 11:09:51"
}
],
"goodflag": 0
},
{
"id": "3",
"regdate": "2014-10-27 11:00:02",
"content": "水街",
"imgcount": "0",
"imgurl": null,
"imgurlbig": null,
"avatar": null,
"nickname": "哈哈",
"sex": "男",
"imgItems": "",
"goodflag": 0
},
{
"id": "2",
"regdate": "2014-10-27 10:58:28",
"content": "惬意",
"imgcount": "1",
"imgurl": "http://192.168.2.146:8008/group1/hm_PHP/uploadfiles/2014/10/201410271058421219_thumb.jpg",
"imgurlbig": "http://192.168.2.146:8008/group1/hm_PHP/uploadfiles/2014/10/201410271058421219.jpg",
"avatar": null,
"nickname": "cloud",
"sex": "女",
"imgItems": [
{
"id": "1",
"client_id": "8",
"content": null,
"keytype": "2",
"keyid": "2",
"imgurl": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410271058421219_thumb.jpg",
"imgurlbig": "http://58.56.89.218:8008/group1/hm_PHP/uploadfiles/2014/10/201410271058421219.jpg",
"orderby": "0",
"regdate": "2014-10-27 10:58:42"
}
],
"goodflag": 0
},
{
"id": "1",
"regdate": "2014-10-15 10:22:09",
"content": "超然致远",
"imgcount": "0",
"imgurl": "http://192.168.2.146:8008/group1/hm_PHP/uploadfiles/2014/10/201410151022167414_thumb.jpg",
"imgurlbig": "http://192.168.2.146:8008/group1/hm_PHP/uploadfiles/2014/10/201410151022167414.jpg",
"avatar": "http://124.128.23.74:8008/group8/hm_9pai/uploadfiles/2015/06/201506251422305115_thumb.png",
"nickname": "tien",
"sex": "男",
"imgItems": "",
"goodflag": 0
}
]
}
}
错误就是:
"imgItems": ""
这个地方引起的,
把这个地方改成如下的格式就可以了:
"imgItems": []