我如何使用改造解析这个?我收到错误BEGIN_OBJECT但是BEGIN_ARRAY
现在,我正在以这种方式解析..
以下是适配器类
public static RetroInterface getCommonPathInterface() {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("myurl")
.build();
records= restAdapter.create(RetroInterface.class);
return records;
}
以下是接口RetroInterface.class
@GET("/mypath")
void getValue(
Callback<MyBean> callback
);
这就是我在主要活动中称之为
的方式 getCommonPathInterface().getValue(new Callback<MyBean>() {
@Override
public void success(MyBean myBean, Response response) {
inti = 0;
}
@Override
public void failure(RetrofitError error) {
int i = 0;
}
});
以下是json回复
[
{
id: "111",
name: "Val1"
},
{
id: "222",
name: "Val2"
}
]
答案 0 :(得分:2)
Yippi!搞定了。很简单的解决方案我的回调方法的一个小变化。
而不是Callback<MyBean> callback
使用Callback<MyBean[]> callback
。问题解决了 ! :)
答案 1 :(得分:1)
嗨现在,您正在解析响应,就像它的格式如下:
{
"contacts":[
{
"id":"111",
"name":"Val1"
},
{
"id":"222",
"name":"Val2"
}
]
}
该异常告诉您这一点,因为您期望根目录中的对象,但实际数据实际上是一个数组。这意味着您需要将类型更改为JSON对象的数组。
谢谢。
答案 2 :(得分:0)
我是初学者,但是当我处理多类POJO并使用专为单类POJO设计的代码时,我遇到了这个问题。如果是这样,请告诉我。另外,请粘贴一些代码! :)