JSON对象示例如下所示:
[{"Title":"John Doe","Address":{"AddressLines":["The Place","123 New Place","London","England"],"Postcode":"NW7 XXY"},"Telephone":"0012345","Email":"","Latitude":51.5024472101345,"Longitude":-0.557585646554,"Easting":500623,"Northing":179647}]
假设通过链接www.domain.com访问上述对象,并且我有以下用于表示数据的类
public class LocationData extends Data{
private Address Address;
private String Telephone;
private String Email;
private String Latitude;
private String Longitude;
private String Easting;
private String Northing;
public Address getAddress() {
return Address;
}
public void setAddress(Address address) {
Address = address;
}
public String getTelephone() {
return Telephone;
}
public void setTelephone(String telephone) {
Telephone = telephone;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
public String getLatitude() {
return Latitude;
}
public void setLatitude(String latitude) {
Latitude = latitude;
}
public String getLongitude() {
return Longitude;
}
public void setLongitude(String longitude) {
Longitude = longitude;
}
public String getEasting() {
return Easting;
}
public void setEasting(String easting) {
Easting = easting;
}
public String getNorthing() {
return Northing;
}
public void setNorthing(String northing) {
Northing = northing;
}
}
并且地址类如下:
public class Address {
public String[] AddressLines;
public String Postcode;
public String getPostcode() {
return Postcode;
}
public void setPostcode(String postcode) {
Postcode = postcode;
}
public String[] getAddressLines() {
return AddressLines;
}
public void setAddressLines(String addressLines[]) {
AddressLines = addressLines;
}
}
当我尝试跑步时
LocationData[] data = gson.fromJson(this.locationServiceUrl, LocationData[].class);
return data;
我收到以下错误:
预期为BEGIN_ARRAY,但在上述代码行中为字符串。我不确定我设置班级的方式是否有问题。注意:我正在使用一个数组(LocationData
[]数据),因为该服务返回了多个位置,尽管我刚刚在上面显示的示例中包括了一个。感谢您提供任何有关为什么发生这种情况的帮助。我已经看过这里的一些类似错误,但是所提供的修复程序似乎都不适合我。
{
"finally":[
{
"Title":"John Doe",
"Address": {
"AddressLines":[
"The Place",
"123 New Place",
"London",
"England"
],
"Postcode":"NW7XXY"
},
"Telephone":"0012345",
"Email":"",
"Latitude":51.5024472101345,
"Longitude":-0.557585646554,
"Easting":500623,
"Northing":179647
}
]
}
解析此JSON的代码是:
public class mainData {
public List<LocationData> finally;
public String[] getLocationData() {
return AddressLines;
}
public void setLocationData(List<LocationData> finally) {
this.finally = finally;
}
}
这是因为您的字符串始于[
当您使用Gson解析这种类型的Json时,然后您就需要像在我前面那样给标签加上前缀({"finally": your data }
)。
实际上,Gson尝试映射标签及其值,但是在您的情况下,您[
不包含Gson可以通过其映射的Label。
问题内容: JSON对象示例如下所示: 假设通过链接www.domain.com访问上述对象,并且我具有以下用于表示数据的类 并且地址类如下: 当我尝试跑步 我收到以下错误: 预期为BEGIN_ARRAY,但在上述代码行中为字符串。我不确定我设置班级的方式是否有问题。注意:我正在使用一个数组(LocationData []数据),因为该服务返回了多个位置,尽管我刚刚在上面显示的示例中包括了一个
问题内容: 我在列表中仅收到一个项目时收到此错误。我在服务器端REST Web服务中使用Jersey,当List返回一个元素并且当我得到它时,我仅收到错误,但是当它包含多个元素时,它可以正常工作,这就是我的工作方式它: 为什么Jersey不发送包含一个项目的列表?这是球衣的虫子吗?有没有办法使它始终序列化为数组? 当Web服务返回0元素时,这是我的JSON数据: 当Web服务返回1元素时,这是我的
我的Retrofit2调用出现以下异常: 学分类别:
问题内容: 我在解析JSON数据时遇到以下错误: 预期为begin_array,但在第1行第34列处为STRING 我找不到解决办法。我的JSON是以下内容: 这是我的PersonContent类: 以下是人员类别: 这是我反序列化前面提到的JSON数据的代码 我尝试了在这里找到的所有解决方案,但找不到相同的JSON。 问题答案: 错误出现在您收到的json中:您的类需要一个数组,因为 但是然后在
获取以下JSON的Gson解析的以下错误 11-05 15:34:00.882:w/system.err(28673):com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第5923列为BEGIN_ARRAY 我正在使用belo行解析序列化上面的JSON
我将请求映射到类,如下所示: 有人能解释为什么我在请求中的数组没有与类A中的数组映射吗?