2017-09-23 18 views
0

Ich habe eine Klasse mit dem Namen Auftrag, die unter einem String-Liste enthälteine Stringliste/auf JSON-Objekte in Java

Set<String> items; 

und wenn ich konvertieren, dies zu JSON:

ObjectMapper mapperObj = new ObjectMapper(); 
String JSON = mapperObj.writeValueAsString(order); 
System.out.println(JSON); 

.. . ich erhalte eine Ausgabe wie unten

"items":[ 
     "xyz", 
     "aaa" 
     ] 

I wie unten

für eine aus etwas freu
"items":[ 
     { 
      "result":"xyz" 
     }, 
     { 
      "result":"aaa" 
     } 
     ] 

Ich möchte nicht eine Klasse für eine einzelne Zeichenfolge separat erstellen.

+0

Sie können Code leicht formatieren, indem Sie mit vier Leerzeichen einrücken, das ist alles, was Sie tun müssen. – tadman

+0

Könnten Sie bitte die gesamte Implementierung der Klasse 'Order' und ihre Serialisierung/Deserialisierung veröffentlichen? –

+0

@SergeyBrunov es ist ein Plan POJO-Objekt und ich konvertiere meine Klasse in JSON mit dem folgenden Code.ObjectMapper mapperObj = new ObjectMapper(); Zeichenfolge JSON = mapperObj.writeValueAsString (order); System.out.println (JSON); ' – Naveen

Antwort

0

Sie können eine API wie Jackson verwenden, um ein JSON-Objekt zu erstellen und es in eine Zeichenfolge zu drucken. Erstellen Sie zuerst eine JSON ArrayNode für Ihre items. Dann gilt für jede Zeichenfolge in Ihrem items, erstellen Sie eine ObjectNode wie diese,

ObjectNode node = mapper.createObjectNode(); 
node.put("result", "xyz"); 

und fügen sie dem ArrayNode. Schließlich drucken Sie das JSON-Objekt aus.

+0

Vielen Dank für Ihre Antwort. Das hilft .. Gibt es irgendwelche Anmerkungen oder eine Art, wie ich 'Set Items 'sagen kann, um es als unabhängiges String-Objekt zu behandeln? – Naveen

+0

können Sie die Methode 'toString()' für Ihre 'Order'-Klasse überschreiben, indem Sie eine Zeichenfolgendarstellung Ihres json-Objekts zurückgeben – thegreatleaf