我使用的是MVVMAndroid架构组件+改型结构。
答复:
{
"statuscode": 0,
"statusmessage": "",
"data": {
"userdetails": {
"id": "3",
"name": "xxx",
"mobile": "123456789",
"username": "xxx",
"password": "xxx",
"createdate": "2019-08-14 16:51:22",
"updatedate": "2019-08-14 16:51:22",
"active": "Y",
"userdeviceid": 2
},
"contacttypes": [
{
"id": "1",
"name": "xxx",
"active": "Y"
},
{
"id": "5",
"name": "xxx",
"active": "Y"
},
{
"id": "2",
"name": "xxx",
"active": "Y"
},
{
"id": "4",
"name": "xxx",
"active": "Y"
},
{
"id": "3",
"name": "xxx",
"active": "Y"
}
]
}
}
现在这些是我的课。
public class APIResponse {
@SerializedName("statuscode")
private int statuscode;
@SerializedName("statusmessage")
private String statusmessage;
@SerializedName("data")
DATAModel dataModel;
public int getStatuscode() {
return statuscode;
}
public void setStatuscode(int statuscode) {
this.statuscode = statuscode;
}
public String getStatusmessage() {
return statusmessage;
}
public void setStatusmessage(String statusmessage) {
this.statusmessage = statusmessage;
}
public DATAModel getDataModel() {
return dataModel;
}
public void setDataModel(DATAModel dataModel) {
this.dataModel = dataModel;
}
}
public class DATAModel {
@SerializedName("userdetails")
Userdetails userdetails;
@SerializedName("contacttypes")
List<ContactTypes> contactTypes;
public Userdetails getUserdetails() {
return userdetails;
}
public void setUserdetails(Userdetails userdetails) {
this.userdetails = userdetails;
}
public List<ContactTypes> getContactTypes() {
return contactTypes;
}
public void setContactTypes(List<ContactTypes> contactTypes) {
this.contactTypes = contactTypes;
}
}
public class Userdetails implements Serializable {
@SerializedName("id")
private String userId;
@SerializedName("name")
private String name;
@SerializedName("mobile")
private String mobile;
@SerializedName("username")
private String username;
@SerializedName("password")
private String password;
@SerializedName("createdate")
private String createdate;
@SerializedName("updatedate")
private String updatedate;
@SerializedName("active")
private String active;
@SerializedName("userdeviceid")
private String userdeviceid;
public String getUserdeviceid() {
return userdeviceid;
}
public void setUserdeviceid(String userdeviceid) {
this.userdeviceid = userdeviceid;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getCreatedate() {
return createdate;
}
public void setCreatedate(String createdate) {
this.createdate = createdate;
}
public String getUpdatedate() {
return updatedate;
}
public void setUpdatedate(String updatedate) {
this.updatedate = updatedate;
}
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
}
public class ContactTypes implements Serializable {
@SerializedName("id")
private String contactId;
@SerializedName("name")
private String name;
@SerializedName("active")
private String active;
public String getContactId() {
return contactId;
}
public void setContactId(String contactId) {
this.contactId = contactId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
}
虽然每次我都失败了。消息应为BEGIN_OBJECT,但在第1行第74列path$.data
处为BEGIN_ARRAY
高级帮助将非常感谢!
当您试图将1 column 74 path$.data
处的响应解析为对象时,会出现此错误,该对象类似于“data”:{}
但API的实际响应是“data”:[{},{},...]
我相信这就是错误发生的地方
@SerializedName("data")
DATAModel dataModel;
有关更多信息,请查看此答案
我有以下JSON结构: 以下是我的: 下面是我的POJO类: 最后,这里是我正在进行网络调用的代码:
目前,我正在得到 com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第2列路径$处为BEGIN_ARRAY 请帮帮我.
我知道这已经不是第一次有人问这个问题了,但是在Treverfit2中,我找不到解决我问题的正确方法。我看了一个在线教程,效果很好。当我将相同的代码应用到我自己的endpoint时,我得到了这个异常:我不知道如何解决这个问题。 接口: 但这个不是: 我的音乐课:
我得到以下错误: java.lang.IllegalStateException:需要一个字符串,但在第1行第29列路径$.entree[0]处是BEGIN_OBJECT。photo 这对我来说是没有意义的,因为我的json响应应该构造成如下所示: JSON数据: 你看到照片在我的课上是一个对象而不是一个字符串了吗?那我做错了什么?
问题内容: 此创建异常 非常感谢您的帮助。 问题答案: 让我们看看您收到的错误。 预期的BEGIN_OBJECT 您的JSON是一个对象,所有JSON对象都用花括号({})括起来。因此,BEGIN_OBJECT为{。并期待它在某个地方。 但在STRING 但是相反,他找到了一个字符串“ Something”。仍然没有告诉我们在哪里。 在第1行第1列的路径$ 啊,完美。在第1行的第1列。这是JSON