亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

預期進行BEGIN_OBJECT的改造,但進行了BEGIN_ARRAY的改造

預期進行BEGIN_OBJECT的改造,但進行了BEGIN_ARRAY的改造

catspeake 2019-11-15 21:08:35
我是JSON解析的新手,我使用Square的Retrofit庫,遇到了這個問題。我正在嘗試解析此JSON響應:[      {        "id": 3,        "username": "jezer",        "regid": "oiqwueoiwqueoiwqueoiwq",        "url": "http:\/\/192.168.63.175:3000\/users\/3.json"      },      {        "id": 4,        "username": "emulator",        "regid": "qwoiuewqoiueoiwqueoq",        "url": "http:\/\/192.168.63.175:3000\/users\/4.json"      },      {        "id": 7,        "username": "test",        "regid": "ksadqowueqiaksj",        "url": "http:\/\/192.168.63.175:3000\/users\/7.json"      }]這是我的模型:public class Contacts {    public List<User> contacts;}...public class User {    String username;    String regid;    @Override    public String toString(){        return(username);    }  }我的界面:public interface ContactsInterface {    @GET("/users.json")    void contacts(Callback<Contacts> cb);}我的成功方法:@Overridepublic void success(Contacts c, Response r) {    List<String> names = new ArrayList<String>();    for (int i = 0; i < c.contacts.size(); i++) {        String name = c.contacts.get(i).toString();        Log.d("Names", "" + name);        names.add(name);    }    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,            android.R.layout.simple_spinner_item, names);    mSentTo.setAdapter(spinnerAdapter);}當我將其用于成功方法時,會引發錯誤預期為BEGIN_OBJECT,但在第1行column2處為BEGIN_ARRAY怎么了
查看完整描述

3 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

現在,您正在解析響應,就好像它是這樣格式化的:


{

  "contacts": [

    { .. }

  ]

}

異常告訴您,您期望在根目錄有一個對象,但實際數據實際上是一個數組。這意味著您需要將類型更改為數組。


最簡單的方法是僅將列表用作回調中的直接類型:


@GET("/users.json")

void contacts(Callback<List<User>> cb);


查看完整回答
反對 回復 2019-11-15
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

在您的界面中替換


@GET("/users.json")

void contacts(Callback<Contacts> cb);

通過此代碼


@GET("/users.json")

void contacts(Callback<List<Contacts>> cb);


查看完整回答
反對 回復 2019-11-15
  • 3 回答
  • 0 關注
  • 846 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號