改装中的java.lang.IllegalStateException

改装中的java.lang.IllegalStateException,java,android,retrofit,Java,Android,Retrofit,我使用的是改装2.0Gson数据无法获取 当我查看邮递员时,我得到了下面的回复 { "name": "Yashodhan Communication", "zone": "9-Belgaum", "tsm_name": "Tarun Patil", "asm_name": "Shivakumar Patil" } 错误: java.lang.IllegalStateException:应为BEGIN_数组,但为 从第1行第2列路径开始\u对象$ APIClien

我使用的是改装2.0
Gson
数据无法获取

当我查看邮递员时,我得到了下面的回复

{
    "name": "Yashodhan Communication",
    "zone": "9-Belgaum",
    "tsm_name": "Tarun Patil",
    "asm_name": "Shivakumar Patil"
}
错误:

java.lang.IllegalStateException:应为BEGIN_数组,但为 从第1行第2列路径开始\u对象$

APIClient客户端

public static Retrofit getClient() {

        retrofit = new Retrofit.Builder()
                .baseUrl("http://vehiclerescue.in/ideadarpan_beta/")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        return retrofit;

    }
这是Pojo课程

public class Appuser_Pojoclass {


    @SerializedName("name")
    @Expose
    private  String name;

    @SerializedName("zone")
    @Expose
    private  String zone;

    @SerializedName("tsm_name")
    @Expose
    private  String tsm_name;

    @SerializedName("asm_name")
    @Expose
    private  String  asm_name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getZone() {
        return zone;
    }

    public void setZone(String zone) {
        this.zone = zone;
    }

    public String getTsm_name() {
        return tsm_name;
    }

    public void setTsm_name(String tsm_name) {
        this.tsm_name = tsm_name;
    }

    public String getAsm_name() {
        return asm_name;
    }

    public void setAsm_name(String asm_name) {
        this.asm_name = asm_name;
    }
}
 private void fetchAllAppUserdata()
    {

        progressBar.setVisibility(View.VISIBLE);

        Log.d("getauthkeydisplay","**** "+Idea_Urban.getInstance().get_Authkeyvalues());

        ideaInterface.get_AppUsers(Idea_Urban.getInstance().get_Authkeyvalues()).enqueue(new Callback<List<Appuser_Pojoclass>>() {
            @Override
            public void onResponse(Call<List<Appuser_Pojoclass>> call, Response<List<Appuser_Pojoclass>> response) {

                if(app_users != null)
                {
                    progressBar.setVisibility(View.INVISIBLE);
                    app_users.clear();
                }
                if(response.body()!=null) {

                    app_users.addAll(response.body());

                    Log.d("appuserresponce","*****   "+response.body());
                //    app_userDetailsAdapter.notifyDataSetChanged();
                }else
                {
                    progressBar.setVisibility(View.INVISIBLE);
                }


            }

            @Override
            public void onFailure(Call<List<Appuser_Pojoclass>> call, Throwable t) {
                Log.d("failure","**** ");

                Log.d("printmetthodsfailure","faiure"+call.toString()   + "\n "  + t.toString());

                progressBar.setVisibility(View.INVISIBLE);
            }
        });
    }
活动类

public class Appuser_Pojoclass {


    @SerializedName("name")
    @Expose
    private  String name;

    @SerializedName("zone")
    @Expose
    private  String zone;

    @SerializedName("tsm_name")
    @Expose
    private  String tsm_name;

    @SerializedName("asm_name")
    @Expose
    private  String  asm_name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getZone() {
        return zone;
    }

    public void setZone(String zone) {
        this.zone = zone;
    }

    public String getTsm_name() {
        return tsm_name;
    }

    public void setTsm_name(String tsm_name) {
        this.tsm_name = tsm_name;
    }

    public String getAsm_name() {
        return asm_name;
    }

    public void setAsm_name(String asm_name) {
        this.asm_name = asm_name;
    }
}
 private void fetchAllAppUserdata()
    {

        progressBar.setVisibility(View.VISIBLE);

        Log.d("getauthkeydisplay","**** "+Idea_Urban.getInstance().get_Authkeyvalues());

        ideaInterface.get_AppUsers(Idea_Urban.getInstance().get_Authkeyvalues()).enqueue(new Callback<List<Appuser_Pojoclass>>() {
            @Override
            public void onResponse(Call<List<Appuser_Pojoclass>> call, Response<List<Appuser_Pojoclass>> response) {

                if(app_users != null)
                {
                    progressBar.setVisibility(View.INVISIBLE);
                    app_users.clear();
                }
                if(response.body()!=null) {

                    app_users.addAll(response.body());

                    Log.d("appuserresponce","*****   "+response.body());
                //    app_userDetailsAdapter.notifyDataSetChanged();
                }else
                {
                    progressBar.setVisibility(View.INVISIBLE);
                }


            }

            @Override
            public void onFailure(Call<List<Appuser_Pojoclass>> call, Throwable t) {
                Log.d("failure","**** ");

                Log.d("printmetthodsfailure","faiure"+call.toString()   + "\n "  + t.toString());

                progressBar.setVisibility(View.INVISIBLE);
            }
        });
    }
private void fetchAllAppUserdata()
{
progressBar.setVisibility(View.VISIBLE);
Log.d(“getauthkeydisplay”,“***”+Idea_Urban.getInstance().get_Authkeyvalues());
ideaInterface.get_AppUsers(Idea_Urban.getInstance().get_Authkeyvalues()).enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
如果(应用程序用户!=null)
{
progressBar.setVisibility(View.INVISIBLE);
app_users.clear();
}
if(response.body()!=null){
app_users.addAll(response.body());
Log.d(“AppUserResponse”,“******”+response.body());
//app_userDetailsAdapter.notifyDataSetChanged();
}否则
{
progressBar.setVisibility(View.INVISIBLE);
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Log.d(“失败”,“****”);
Log.d(“PrintMethodFailure”,“faiure”+call.toString()+“\n”+t.toString());
progressBar.setVisibility(View.INVISIBLE);
}
});
}

我根据谷歌的建议找到了一些解决方案,但我不知道如何实现。

您的问题是
java.lang.IllegalStateException:应为BEGIN\u数组,但在第1行第2列路径处为BEGIN\u对象$

所以您应该检查代码的响应

您的
JSON
响应是
JSONObject
,因此您应该使用
Call-Call

改变

Call<List<Appuser_Pojoclass>> call
呼叫

Call<Appuser_Pojoclass> call
呼叫

您的问题是
java.lang.IllegalStateException:应为BEGIN\u数组,但在第1行第2列路径处为BEGIN\u对象$

所以您应该检查代码的响应

您的
JSON
响应是
JSONObject
,因此您应该使用
Call-Call

改变

Call<List<Appuser_Pojoclass>> call
呼叫

Call<Appuser_Pojoclass> call
呼叫

错误在调用声明中,更改

     Call<List<Appuser_Pojoclass>>
呼叫

呼叫

错误在调用声明中,更改

     Call<List<Appuser_Pojoclass>>
呼叫

呼叫

您的改装调用响应类型是
,但您的API响应不是
Appuser\u Pojoclass
的列表,它只是类型为
Appuser\u Pojoclass
的单个对象


在改装调用中将类型从
更改为
Appuser\u Pojoclass
,改装调用响应类型为
,但API响应不是
Appuser\u Pojoclass
的列表,它只是
Appuser\u Pojoclass
类型的单个对象


在改型调用中将类型从
更改为
Appuser\u Pojoclass
,您可能将
get\u AppUsers
方法定义为返回
call
的方法,而不仅仅是
call
,因此它最终会查找JSON数组,但是,您的响应只包含一个导致错误的JSON对象。更改
get\u AppUsers
以返回
Call
,然后相应地更改回调,这将解决问题。

您可能将
get\u AppUsers
方法定义为返回
Call
的方法,而不仅仅是
Call
,因此它最终会查找JSON数组,但是,您的响应只包含一个导致错误的JSON对象。更改
get_AppUsers
以返回
Call
,然后相应地更改您的回调,这应该可以解决问题。

Sry sir它正在执行
onFailure
方法…它不在
onResponse
方法中确定如果它是Json对象,我不应该使用
List
我是正确的,先生..让我试试看,先生执行
onFailure
method…它不在
onResponse
methodok如果它是Json对象,我不应该使用
List
我是正确的,先生..让我试试