2016-03-01 70 views
2

我有一個類,它基本上是一個HashMap的包裝。我想用Jackson將這個類序列化爲一個沒有任何包裝元素的JSON對象。JSON序列化HashMap作爲根元素

public class Customers { 

     @JsonProperty 
     private Map<String,Customer> customers = new HashMap<>(); 

     ...  

    } 

當前序列如下:

{ 
    "Customers":{ 
     "customers":{ 
      "keyX":{...}, 
      "keyY":{...}, 
      "keyZ":{...} 
} 

但我想有這樣的:

{ 
    "keyX":{...}, 
    "keyY":{...}, 
    "keyZ":{...} 
} 

我怎麼能達到呢?

+1

手動做這個怎麼樣? – Maraboc

回答

1

爲什麼不試試這個

jsonString = mapper.writeValueAsString(customerObj.getCustomers()); 

簡單地傳遞地圖,而不是客戶對象。

+0

爲什麼接受?它仍然會將地圖的鍵/值對與地圖名稱「customers」一起包裹起來 - 而不是回答原始問題。 – this

3

嘗試對房地產客戶這可以幫助你@JsonUnwrapped解開嵌套層次