2017-09-23 83 views
0

字符串列表/設置爲JSON對象我有一個名爲Order類,它包含以下轉換在Java

Set<String> items; 

一個字符串列表,當我將它轉換爲JSON:

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

..我得到像下面

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

我正在尋找一個出類似下面

輸出
"items":[ 
     { 
      "result":"xyz" 
     }, 
     { 
      "result":"aaa" 
     } 
     ] 

我不想爲單個字符串單獨創建一個類。

+0

您可以使用四個空格縮進來輕鬆地格式化代碼,這就是您需要做的。 – tadman

+0

您能否發佈'Order'類及其序列化/反序列化的整個實現? –

+0

@SergeyBrunov它是一個計劃POJO對象,我通過使用下面的代碼將我的類轉換爲JSON.ObjectMapper mapperObj = new ObjectMapper(); String JSON = mapperObj.writeValueAsString(order); System.out.println(JSON);' – Naveen

回答

0

您可以使用一些API(如Jackson)來創建JSON對象並將其打印到字符串中。首先爲您的items創建一個json ArrayNode。然後在你的items每個字符串,創建一個ObjectNode這樣,

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

,並將它們添加到ArrayNode。最後你打印出JSON對象。

+0

感謝您的迴應。這有助於..是否有任何註釋或某種方式,我可以告訴'設置項目'將其視爲獨立的字符串對象? – Naveen

+0

您可以通過返回json對象的字符串表示來覆蓋Order類的'toString()'方法 – thegreatleaf