Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 改装:应为BEGIN_对象,但在第2行第2列路径处为BEGIN_数组_Android_Retrofit - Fatal编程技术网

Android 改装:应为BEGIN_对象,但在第2行第2列路径处为BEGIN_数组

Android 改装:应为BEGIN_对象,但在第2行第2列路径处为BEGIN_数组,android,retrofit,Android,Retrofit,我有一个Json和搜索功能,我的问题是: 我有3项: 1.测试1 2.测试2 3.测试3 假设用户想要搜索测试,他提交“Test”,所有相关的测试都会显示出来 但是,如果他只想要“测试1”,它会在标题中抛出错误,有时会显示,有时不会 如果需要,您需要什么文件 错误: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at

我有一个Json和搜索功能,我的问题是:

我有3项:
1.测试1
2.测试2
3.测试3

假设用户想要搜索测试,他提交“Test”,所有相关的测试都会显示出来

但是,如果他只想要“测试1”,它会在标题中抛出错误,有时会显示,有时不会

如果需要,您需要什么文件

错误:

 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 2 column 2 path $
更值得一提的是,当搜索“2”时,它将显示“测试2”,但搜索“测试2”将抛出错误

它正在处理基本Json,在切换到新库后,它停止了工作

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);
@GET(“api.php”)
调用getRoms_中心(@Query(“company_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;
    }

}
私有类模型{
私人列表roms_中心;
公共列表getRoms_中心(){
返回roms_中心;
}
公共无效设置ROM_中心(列出ROM_中心){
this.roms_center=roms_center;
}
}
建立连接方法(库方法):

reformation-reformation=new-reformation.Builder()
.baseUrl(基本)
.addConverterFactory(GsonConverterFactory.create())
.build();
ReApi Api=reformation.create(ReApi.class);
连接=Api.getRoms_中心(公司);
Connection.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
ProgressLoading.setVisibility(View.GONE);
isLoading=false;
List ROMs=response.body().getRoms_center();
对于(int i=0;i
尝试更改您的界面:

 @GET("api.php")
Call<List<Model>> getRoms_center(@Query("company_name") String name);
@GET(“api.php”)
调用getRoms_中心(@Query(“company_name”)字符串名);

错误日志如何?这似乎很有用。我编辑了op。您的JSON解析器看到的是数组而不是对象,因此它引发了该错误。请同时包含您的解析代码和正在解析的JSON。请检查。抱歉,错误的JSON,请再次检查。JSON是正确的,只是复制问题:p。
 @GET("api.php")
Call<List<Model>> getRoms_center(@Query("company_name") String name);