gson Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path


返回數據解析錯誤

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}";

 =======




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM