嗨,我是改装2.0库的新手,我在解析一些json时遇到了问题。我在Stackoverflow上看了一些其他的解决方案,但我的问题运气不佳。我试图用改装2.0从Android系统调用一个api。但它抛出了预期的错误BEGIN_ARRAY但BEGIN_OBJECT。
我对web api的回应是:
{
"items": [{
"id": 19,
"lat": 23.79418,
"lng": 90.401859,
"user_id": 1,
"created_at": null,
"updated_at": null,
"user": {
"id": 1,
"name": "Tarif",
"email": "fmt@itc.com",
"created_at": null,
"updated_at": null
}
}]
}
这就是我的模型类:
public class UserResponse {
private List<Items> items;
public List<Items> getItems() {
return items;
}
private class Items{
private String id;
private String lat;
private String lng;
private String user_id;
private String created_at;
private String updated_at;
private List<User> user;
private class User{
private String id;
private String name;
private String email;
private String created_at;
private String updated_at;
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public String getCreated_at() {
return created_at;
}
public String getUpdated_at() {
return updated_at;
}
}
public String getId() {
return id;
}
public String getLat() {
return lat;
}
public String getLng() {
return lng;
}
public String getUser_id() {
return user_id;
}
public String getCreated_at() {
return created_at;
}
public String getUpdated_at() {
return updated_at;
}
public List<User> getUser() {
return user;
}
}
}
这是我的界面:
@GET("coordinates")
Call <UserResponse> getUsers();
这就是我打电话的方式:
ITCService service = ApiUtils.createService(ITCService.class);
Call<UserResponse> call= service.getUsers();
call.enqueue(new Callback<UserResponse>() {
@Override
public void onResponse(Call<UserResponse> call, retrofit2.Response<UserResponse> response) {
if (response.isSuccessful()) {
UserResponse res = response.body();
Log.e("TAG", res.toString());
} else {
// TODO: toast
Toast.makeText(getApplicationContext(),response.message(),Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<UserResponse> call, Throwable t) {
// TODO: error alert
Toast.makeText(getApplicationContext(),t.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}
列表
使用改装库来使用一项服务,我为我的界面、模型以及如何使用界面添加了代码。 我不断收到一个GSON抛出的“预期的BEGIN_对象,但是BEGIN_数组” 界面 模范公立班学生{ 我怎么称呼方法
问题内容: 我是JSON解析的新手,我使用Square的Retrofit库并遇到了这个问题。 我正在尝试解析此JSON响应: 这是我的模型: 我的界面: 我的成功方法: 当我将其用于成功方法时,会引发错误 预期为BEGIN_OBJECT,但在第1行column2处为BEGIN_ARRAY 怎么了 问题答案: 现在,你正在解析响应,就好像它是这样格式化的: 异常告诉你,你期望在根目录有一个对象,但实
您好,我是新来的改装库,我有问题解析一些json。我已经研究了Stackoverflow的一些其他解决方案,但我的问题没有太多的运气。我正在尝试一个简单的网络服务。如有任何建议,将不胜感激。。 json文件 请求方法 Employees.java 雇员萨皮。JAVA 我得到的错误是 我理解错误是说数据是一个对象,它应该以数组开头,但我无法计算出来。。谢谢
我今天才开始使用翻新图书馆。我在获取一些json数据时遇到问题。 我试图获取的JSON数据如下所示: 求求你,救命!
这个错误又回来了! 我是改装的初学者,我看过这篇文章:改装:预期BEGIN_OBJECT但BEGIN_ARRAY 但是即使我试着让它适应我的模型,我仍然不能让它工作。所以我的错误是: 我得到的是: 解析类的属性: IoTGenericDevice子类的属性: 改装电话: 经理:
当我只收到列表中的一个项目时,就会出现这个错误。我在服务器端REST Web服务中使用Jersey,只有当列表返回一个元素时,以及当它有但当它有多个异常时,它工作得非常完美,我就是这样做的: Jersey为什么不发送包含一个项目的列表?是泽西岛的虫子吗?有没有办法让它始终序列化为数组? 这是web服务返回0元素时的JSON数据: 这是web服务返回1个元素时的JSON数据: 当web服务返回超过1