JSON将HashMap序列化为根元素

时间:2016-03-01 11:14:31

标签: java json jackson

我有一个类,它基本上是HashMap的包装器。我想用Jackson将这个类序列化为一个没有任何包装元素的JSON对象。

   public class Customers {

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

        ...     

    }

当前序列化如下所示:

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

但我想要这个:

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

我怎样才能达到它?

2 个答案:

答案 0 :(得分:3)

在属性上尝试@JsonUnwrapped客户可以帮助您打开嵌套级别

答案 1 :(得分:1)

为什么不试试这个

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

只需传递Map,而不是Customer对象。