2016-09-23 84 views
0

我想开发一个使用杰克逊和JAXB的REST服务器。杰克逊JAXB JSON编组/解编

我有以下POJO类:

class Location { 
    double[] latLng; 
    String address; 
} 

为了使输入格式短而灵活,我想JSON输入是以下任一格式:

{ "location": [33,75] } 

{ "location": "complete address" } 

而且输出总是在格式:

{ 
    "location": { 
     "latitude": 33, 
     "longitude": 74, 
     "address": "complete address" 
    } 
} 

有没有什么办法可以做到这一点?

感谢, 阿西

回答

0

想通了,好了,差不多了。 =)

假设为Location包装类是Data

class Data { 
    Location location = new Location(); 
    public Data() {} 
    public Location getLocation() { return location; } 
    public void setLocation(Location value) { location = value; } 
    public void setLocationGPS(double[] value) { location.latLng = value; } 
    public void setLocationAddress(String value) { location.address = value; } 
} 

利用这个定义,以下任何输入JSONs的将被接受:

{ "location": { "latLng": [33,74], "address": "complete address" } } 

{ "locationGPS": [33,74] } 

{ "locationAddress": "complete address" } 

=)