Jackson serialisieren von mehreren Objekten in einem
Ich habe einen Ajax-Aufruf zu füllen mehrere Felder in der front-end von Hibernate-Objekten. Das ist, warum ich möchte wieder mehrere Java Hibernate Json serialisierte Objekte zu Ajax vom Frühling. Zurzeit mache ich:
@RequestMapping(method=RequestMethod.GET)
@ResponseBody
public String getJson()
{
List<TableObject> result = serviceTableObject.getTableObject(pk);
String json = "";
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
try
{
json = ow.writeValueAsString(result);
} catch (JsonGenerationException e)
{
//TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e)
{
//TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e)
{
//TODO Auto-generated catch block
e.printStackTrace();
}
return json;
}
Dies funktioniert gut und gibt ein json-Objekt für ajax, aber ich habe mehrere Objekte, die das so mag, was ich will, ist zu verschachteln, werden alle diese Objekte in einem json-Objekts und Rückgabe des letzteren an meine ajax, so kann ich füllen Sie alle Felder mit einem Objekt, anstatt mehrere ajax-Aufrufe für jedes Objekt, die ich brauche. So zum Beispiel würde ich so etwas wie:
List<TableObject> result = serviceTableObject.getTableObject(pk);
String json = "";
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
json = ow.writeValueAsString(result);
List<SecondObject> secondObject = serviceSecondObject.getSecondObject(pk);
String json2 = "";
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
json2 = ow.writeValueAsString(secondObject );
NewJsonObject.add(json)
NewJsonObject.add(json2)
return newJsonObject;
- warum nicht eine wrapper-Klasse erstellen mit einer Liste der Objekt-und jsonify, dass wrapper
- Es ist einfach zu kompliziert, eine neue Klasse zu erstellen etc. Ich will einfach zurück mehrere java-Objekte zu einem ajax-Aufruf. Es muss einen Weg, das zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage sein, um Sie nur eine Karte (seit JSON-Objekte sind nichts anderes als eine Karte) zu halten Ihre Objekte:
Können Sie nun Zugriff auf alle Objekte in der Karte in den JS, da die Karte wird serialisiert als JSON-Objekt: