標籤:網路 string android class 資料
今天在用bmob的時候,報了“Expected a string but was BEGIN_ARRAY at line 1 column 50“這個錯誤,開始我沒有注意,以為是網路引起的錯誤,後來總是報錯,所以仔細看了一下,期待一個String類型卻是一個array類型,心想,這肯定報錯啊。
傳回來的是json資料,映射到這個實體類。
public class Notice extends BmobObject{ private String name; private String image; private String desc; private String url; private String function; private String type; private String[] functions; private String[] foodInfos; private BmobRelation steps; private BmobRelation condiments; 下面省略setter getter方法。。。}
注意functions,foodInfos兩個欄位。
json返回的資料是{“xxx”:”xxx”….,”functions”:”{[1],[2],[3]}”,”foodInfos”:”{[1],[2],[3]}”,”xxxx”:”xxxx”}
返回的是array。問題找到了。動手解決。如果是使用Gson的話,就按照下面,我現在用的bmob,果然是比較受限了,必須得修改資料,符合欄位要求。
public class Notice extends BmobObject{ private String name; private String image; private String desc; private String url; private String function; private String type; private List<String> functions; private List<String> foodInfos; private BmobRelation steps; private BmobRelation condiments; 下面省略setter getter方法。。。}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android-Expected a string but was BEGIN_ARRAY at line 1 column 50