我正在尝试使用 gson 反序列化来自 JSON 对象的数据。我在 1) 设计课程时遇到了麻烦。2) 从内部列表对象中获取一个空对象。
这是 JSON 对象的示例
{
"spatialReference" : {
"wkid" : 102113
},
"candidates" : [
{
"address" : "202 S Van Ness Ave, San Francisco, CA, 94110",
"location" : {
"x" : -13627444.2697,
"y" : 4546249.2471000031
},
"score" : 85.969999999999999,
"attributes" : {
"Loc_name" : "US_RoofTop",
"Score" : 85.969999999999999,
"Match_addr" : "505 S Van Ness Ave, San Francisco, CA, 94110",
"House" : "505",
"Side" : "R",
"PreDir" : "S",
"PreType" : "",
"StreetName" : "Van Ness",
"SufType" : "Ave",
"SufDir" : "",
"City" : "San Francisco",
"State" : "CA",
"ZIP" : "94110",
"X" : -122.417416,
"Y" : 37.764772999999998,
"Disp_Lon" : -122.416991,
"Disp_Lat" : 37.764809999999997,
"Addr_type" : "StreetAddress",
"Province" : "",
"Postal" : "",
"FromAddr" : "",
"ToAddr" : "",
"ZIP4" : "",
"ZIP4_TYPE" : "",
"User_fld" : "",
"Ldu" : "",
"xmin" : 0,
"xmax" : 0,
"ymin" : 0,
"ymax" : 0
}
},
{
"address" : "505 Van Ness Ave, San Francisco, CA, 94102",
"location" : {
"x" : -13627778.172800001,
"y" : 4548412.0926000029
},
"score" : 100,
"attributes" : {
"Loc_name" : "US_Streets",
"Score" : 100,
"Match_addr" : "505 Van Ness Ave, San Francisco, CA, 94102",
"House" : "",
"Side" : "L",
"PreDir" : "",
"PreType" : "",
"StreetName" : "Van Ness",
"SufType" : "Ave",
"SufDir" : "",
"City" : "San Francisco",
"State" : "CA",
"ZIP" : "94102",
"X" : -122.42041500000001,
"Y" : 37.780130999999997,
"Disp_Lon" : 0,
"Disp_Lat" : 0,
"Addr_type" : "StreetAddress",
"Province" : "",
"Postal" : "",
"FromAddr" : "501",
"ToAddr" : "525",
"ZIP4" : "",
"ZIP4_TYPE" : "",
"User_fld" : "",
"Ldu" : "",
"xmin" : 0,
"xmax" : 0,
"ymin" : 0,
"ymax" : 0
}
}]
这是我使用 java 为 json 对象与 gson 一起使用的类的示例
public class Response {
public Response()
{}
SpatialReference spatial;
public List<Candidates> candidate;
public class Candidates
{
public Candidates()
{}
@SerializedName("address")
public String address;
Location location;
@SerializedName("score")
public double score;
Attribute attributes;
Double getScore()
{
return score;
}
}
public class Attribute {
public Attribute()
{}
@SerializedName("Disp_Lon")
public double dispLong;
@SerializedName("Disp_Lat")
public double dispLat;
}
public class Location {
public Location()
{}
@SerializedName("x")
public double x;
@SerializedName("y")
public double y;
}
public class SpatialReference {
SpatialReference()
{}
@SerializedName("wkid")
public String wkid;
}
}
这是使用 gson 的示例代码
Gson gson= new Gson()
response1= gson.fromJson(reader, Response.class);
return response1;
任何帮助将不胜感激,我对 GSON 和检索 JSON 对象非常陌生。非常感谢