改装中的java.lang.IllegalStateException
我使用的是改装2.0改装中的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
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
我是正确的,先生..让我试试