返回數據解析錯誤
com.google.gson.JsonSyntaxException:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path
期望返回一個對象但是卻返回了一個數組
解決辦法:
1.在參數中修改期望返回類 Student 為 LIst< Student>,這樣才能解析到數據。
2.用 TypeToken 轉一下:
Gson gson = new Gson(); String result = response; ArrayList<Student> list = new ArrayList<Student>(); Type listType = new TypeToken<List<Student>>() {}.getType(); list = gson.fromJson(result, listType);
=====
原因是數據的前后多了[ ]中括號。
String gsonStr1= "[{name:'name0',age:0}]";
解決辦法:
將前后的中括號去掉就好了。
//修改后{name:'name0',age:0},要去掉前后的括號。 String gsonStr1= "{name:'name0',age:0}";
=======