我在我的应用中使用Google商家信息。当我要求附近的地方时,我会得到一份地方清单。每个地方都有这种Json结构:
{
"geometry" : {
"location" : {
"lat" : -33.870775,
"lng" : 151.199025
}
},
...
}
我的Java Place
类是以这种方式声明的:
public class Place {
private double latitude;
private double longitude;
...
}
如何将lat
json字段分配给latitude
成员,lng
分配给longitude
?是否可以使用Gson
或者我是否应该创建Geometry类和Location类?
我尝试使用这些序列化名称,但它无效:
@SerializedName("geometry.location.lat") private double latitude;
@SerializedName("geometry.location.lng") private double longitude;
答案 0 :(得分:2)
我看到的第一个解决方案是实现自定义 JsonDeserializer 。另外值得分离您用于与外部服务和域对象通信的类。然后,您将拥有一些类 GooglePlace ,您的域类放置以及适配器(转换器),以将GooglePlace转换为Place和Backwards。在这种情况下,您的实施将更加灵活。