2016-09-23 88 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" } 

=)