我有一个Json和搜索特性,我的问题是:
我得到了3个项目:
1。测试1
2。测试2
3。测试3
错误:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 2 column 2 path $
要提一下,搜索“2”时会显示“测试2”,但搜索“测试2”会抛出错误。
它在工作于基本的Json,在切换到新的库之后,它停止了工作。
{"roms_center":[{"device_name":"Test 1","roms_count":"1","device_id":"0"},{"device_name":"Test 2","roms_count":"2","device_id":"1"}]}
@GET("api.php")
Call<Model> getRoms_center(@Query("company_name") String name);
型号:
private class Model{
private List<CatItem> roms_center;
public List<CatItem> getRoms_center() {
return roms_center;
}
public void setRoms_center(List<CatItem> roms_center) {
this.roms_center = roms_center;
}
}
使连接方法(库方法):
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Base)
.addConverterFactory(GsonConverterFactory.create())
.build();
ReApi Api = retrofit.create(ReApi.class);
Connection = Api.getRoms_center(Company);
Connection.enqueue(new Callback<Model>() {
@Override
public void onResponse(Call<Model> call, Response<Model> response) {
ProgressLoading.setVisibility(View.GONE);
isLoading = false;
List<CatItem> ROMs = response.body().getRoms_center();
for(int i = 0 ; i < ROMs.size() ; i ++ ){
CatItem Item = new CatItem();
Item.setDevice_Name(ROMs.get(i).getDevice_Name());
Item.setTotal_Downloads(ROMs.get(i).getTotal_Downloads());
Item.setDevice_ID(ROMs.get(i).getDevice_ID());
if(rowListItem == null)
rowListItem = new ArrayList<>();
rowListItem.add(Item);
}
Adapter.notifyDataSetChanged();
}
尝试更改界面:
@GET("api.php")
Call<List<Model>> getRoms_center(@Query("company_name") String name);
我有以下JSON结构: 以下是我的: 下面是我的POJO类: 最后,这里是我正在进行网络调用的代码:
目前,我正在得到 com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第2列路径$处为BEGIN_ARRAY 请帮帮我.
我知道这已经不是第一次有人问这个问题了,但是在Treverfit2中,我找不到解决我问题的正确方法。我看了一个在线教程,效果很好。当我将相同的代码应用到我自己的endpoint时,我得到了这个异常:我不知道如何解决这个问题。 接口: 但这个不是: 我的音乐课:
在阅读@Ridcully的响应之后,我想问一下是否有一种方法可以更新,以便它知道JSON是一个数组。比如?
错误:java.lang.IllegalStateException:应为begin_array,但为begin_object 我不知道怎么解决这个问题 我在这里包含了我的完整代码 这是我的JSON search_movie.class apiclient.java
我正在学习youtube视频的改装,但现在我卡住了。它显示一个错误“reverfit expected begin_array but was begin_object at line 1 column 2 path$”我正在尝试从这个站点获取json数据。http://servicio-monkydevs.rhcloud.com/clientes/ ClientService.java clie