Produktion und Konsum benutzerdefinierte JSON-Objekte in Spring RESTful-Dienste
Habe ich einige JSON-Objekten, die komplexer sind als die JSON-Darstellungen der java-Objekte, die ich habe. Ich habe Methoden, die bauen diese JSON-Objekte und ich möchte zurück und verzehren Sie diese direkt. Ich benutze org.json
Bibliothek zu bauen meine JSONs. Ich könnte das GET
Methode arbeiten durch Rücksendung der JSON-Objekt als String
. Ist das der richtige Weg, um darüber zu gehen?
@RequestMapping(value = "/getjson", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public String getJson() {
JSONObject json = new JSONObject();
JSONObject subJson = new JSONObject();
subJson .put("key", "value");
json.put("key", subJson);
return json.toString();
}
Nun wollt ich wissen wie kann ich konsumieren, ein JSON-Objekt? Als string und wandelt es in ein JSON-Objekt?
@RequestMapping(value = "/post", method = RequestMethod.POST, produces="application/json", consumes="application/json")
@ResponseBody
public String post(@RequestBody String json) {
JSONObject obj = new JSONObject(json);
//do some things with json, put some header information in json
return obj.toString();
}
Ist dies der richtige Weg zu gehen über mein problem? Ich bin ein Neuling, der so freundlich darauf hinweisen, alles, was getan werden kann, besser. Bitte beachten: ich möchte nicht zurück POJOs.
InformationsquelleAutor user592748 | 2014-09-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, mit der jackson Bibliothek, die Sie tun können, so etwas wie unten.
InformationsquelleAutor RE350
Können Sie verwenden, jackson, lib, jackson erlaubt die Konvertierung zu/von json mit spring mvc.
InformationsquelleAutor kemenov
Ich viel eher die alternative zu verwenden Jackson mit Spring mvc, da Sie nicht haben, um sorgen um die Serialisierung und Deserialisierung der Objekte/json-json/Objekt. Aber wenn Sie immer noch wollen, um den Prozess möchte ich gson von google.
http://www.javacreed.com/simple-gson-example/
InformationsquelleAutor paul
Hätte ich nicht die automatische Serialisierung und Deserialisierung, um die Arbeit mit den Standard-Spring-boot-Bohnen. Am Ende, dies funktionierte gut für mich, nachdem, einschließlich Projekt-Lombok-und apache-BeanUtils. Der Frühling ruft eine String-arg-Konstruktor, wenn es nicht automatisch tun der Serialisierung.
http://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi
https://projectlombok.org/
InformationsquelleAutor Hypothetical inthe Clavicle