2016-09-23 1 views
0

Ich versuche, einen REST-Server mit Jackson und JAXB zu entwickeln.Jackson JAXB JSON Marshalling/Unmarshalling

Ich habe folgende POJO Klasse:

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

Um Eingabeformate kurz und flexibel zu machen, würde ich die JSON-Eingang wie eine der beiden folgenden Formate sein:

{ "location": [33,75] } 

{ "location": "complete address" } 

Und die Ausgabe immer im Format zu haben:

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

Gibt es eine Möglichkeit, das kann ich erreichen?

Danke, Asim

Antwort

0

es herausgefunden, na ja, fast. =)

Angenommen, die Wrapper-Klasse für Location ist 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; } 
} 

Mit dieser Definition wird eine der folgenden Eingabe JSONs akzeptiert werden:

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

{ "locationGPS": [33,74] } 

{ "locationAddress": "complete address" } 

=)