Java Jackson-更紧凑地将泛型集合序列化为json

Java Jackson-更紧凑地将泛型集合序列化为json,java,json,jackson,Java,Json,Jackson,我想用Jackson以紧凑的方式序列化泛型集合,这样在输出中我将得到类似的json public class ContainList<SomePojo> { @JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT, property="type") @JsonSubTypes({ @JsonSubTypes.Type(value=SimplePojo1.class, name="simplePoj

我想用Jackson以紧凑的方式序列化泛型集合,这样在输出中我将得到类似的json

public class ContainList<SomePojo> {
@JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT, property="type")
@JsonSubTypes({
    @JsonSubTypes.Type(value=SimplePojo1.class, name="simplePojo11")
    ,@JsonSubTypes.Type(value=SimplePojo2.class, name="simplePojo22")
})    
   public List<SomePojo> list;
}
{genericType:[{field1:1},{field1:25}]}

例子: 我有一个看起来像

public class ContainList<SomePojo> {
@JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT, property="type")
@JsonSubTypes({
    @JsonSubTypes.Type(value=SimplePojo1.class, name="simplePojo11")
    ,@JsonSubTypes.Type(value=SimplePojo2.class, name="simplePojo22")
})    
   public List<SomePojo> list;
}
我的目标是得到

{
  "list": [
    {
      "simplePojo11": {
        "simplePojo11Field": "privet"
      }
    },
    {
      "simplePojo11": {
        "simplePojo11Field": "poka"
      }
    }
  ]
}
{
  "list": 
  { simplePojo11 : [  {"simplePojo11Field": "privet"}, {"simplePojo11Field": "poka"} ] }
}
或者根本没有名单

  { simplePojo11111 : [  {"simplePojo111111Field": "privet"}, {"simplePojo111111Field": "poka"} ] }

但是
列表
是一个
列表
,不是吗?那么,为什么要将其映射到一个对象?映射到什么目的?如果您想使其更小,请将其输出到压缩流中——或者。它将比您在问题中提出的任何微观优化都要小。在我看来,json中的列表更像是{elements:[{..},{..},{..},{..}]}而不是{list:[{element:{..},{element:{..},{..},{element:{..}]}的本地表示。在我看来,json中的列表更像是{elements:[{..},{..},{..}]}而不是“{list:[{element:{..}},{element:{..}},{element:{..}}]}”