1. Die häufig verwendete Art, SpringMVC zu schreiben, um JSON -Formatdaten zurückzugeben, besteht darin, die @ResponseBody -Annotation zu verwenden. Fügen Sie diese Annotation vor jeder Methode hinzu. Der JSON -Parsing -Mechanismus von SpringMVC wandelt den Rückgabewert (Objekttyp -Objekt) automatisch in JSON -Formatdaten um. Wenn das zurückgegebene JSON -Objekt komplizierter ist, muss jede Methode viele Objekte definieren, wodurch die Entwicklung viel Arbeit führt. Im Folgenden wird eine Methode eingeführt. Verwenden Sie direkt das JSON -Objekt, um die Daten festzulegen und zurückzugeben.
2. Wenn die folgenden JSON -Formatdaten auftreten, müssen Sie mehrere Java -Objekte erstellen, wenn der Unterschied in der @ResponseBody -Methode verwendet wird.
{ "total":2, "list":[ { "person":{"name":"eakom0","key":0}, "msg":{"cod":0,"name":"eakom0"} }, { "person":{"name":"eakom1","key":1}, "msg": {"cod": 1, "name": "eakom1"}}], "Anhang": {"Name": "Anhang", "Version": 1}}Wenn Sie die Spleißmethode verwenden, verwenden Sie JSONObject Spleißen direkt, ohne ein Objekt zur Rückgabe zu erstellen. Der Code ist wie folgt:
@RequestMapping ("returnjson") public void returnjson (httpServletRequest -Anfrage, httpServletResponse -Antwort) {jsonObject json = new JsonObject (); Json.Element ("Total", 2); Liste <map <string, jsonObject >> list = new ArrayList <map <string, jsonObject >> (); für (int i = 0; i <2; i ++) {jsonObject person = new JsonObject (); Person.element ("Name", "Eakom"+i); Person.Element ("Schlüssel", i); JsonObject msg = new JsonObject (); msg.element ("name", "eakom"+i); msg.element ("cod", i); Karte <String, jsonObject> map = new HashMap <String, JsonObject> (); map.put ("Person", Person); map.put ("msg", msg); list.add (map); } json.element ("Liste", Liste); JsonObject Attemment = new JsonObject (); Anhang.Element ("Name", "Anhang"); Attachment.Element ("Version", 1); JSON.Element ("Anhang", Anhang); Respectedatagrid (Antwort, JSON); } public void reagedatagrid (httpServletResponse -Antwort, jsonObject jobject) {response.setContentType ("application/json"); response.setheader ("cache-control", "no-store"); try {printwriter pw = response.getWriter (); pw.write (jobject.tostring ()); pw.flush (); } catch (ioException e) {e.printstacktrace (); }}3. Verwenden Sie dies, um zu JSON zurückzukehren. Die Struktur ist bei der Bearbeitung des Codes nicht klar. Es ist keine besondere Situation und wird nicht empfohlen.
Der obige Artikel SpringMVC gibt eine komplexe JSON -Formatdatenmethode zurück, die ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.