改造回收器视图 预期一个字符串,但在第 1 行第 2 列 pth $ 处BEGIN_OBJECT



我正在使用 retrofit get 方法从服务器获取一些详细信息。

我的改造接口是

@GET("studentlist/{schoolid}/{driverid}")
Call<String> getStudentList(@Path("schoolid") String schoolid,@Path("driverid") String driverid);

当我调用我的活动时,我从捆绑包中获取两个查询和数据,例如


Bundle bundle = getIntent().getExtras();
schoolname = bundle.getString("school_id");
driverid = bundle.getString("dri_number");
Call<String> call = api.getStudentList(schoolname, driverid);
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Toast.makeText(StudentListActivity.this, response.message(), Toast.LENGTH_SHORT).show();
if (response.isSuccessful()){
if (response.body() != null){
Toast.makeText(StudentListActivity.this, response.body(), Toast.LENGTH_SHORT).show();
String jsonResponse = response.body().toString();
writeRecycler(jsonResponse);
} else {
Log.i("onEmptyResponse", "Returned empty response");
}
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Toast.makeText(StudentListActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
}
});

并保存响应,例如

@SerializedName("status")
private String status;
@SerializedName("res")
public List<StudentListResponse.StudentsList> resp = new ArrayList<>();
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}

可能是你的json结构错误。验证 JSON 结构并进行验证。

验证 JSON 数据是否以左引号开头。

Gson 希望您的 JSON 字符串以对象左大括号开头,例如

{

但是您传递给它的字符串以左引号开头

"

相关内容

最新更新