仅序列化/反序列化列表/数组内容,而不是数组名称

时间:2018-11-23 05:57:59

标签: java json serialization jackson

对于Jackson序列化和反序列化,我是陌生的。我为我的问题研究了很多链接,但没有找到任何链接。所以我在这里发布。请帮忙!

我想对三个类(实体)进行序列化和反序列化:

MyStackClass和MyService类由MyServiceMapping类映射。

public class MyStackClass implements Serializable, Entity {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="ID")
    private int id;

    @OneToMany
    private List<MyserviceMapping> services;

}

public class MyserviceMapping implements Serializable,Entity {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

    @ManyToOne
    private MyStackClass myStackClass;

    @ManyToOne
    private MyService myService;

}

public class MyService implements Entity{
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int myServiceId;

    @OneToMany
    private  List<MyServiceMapping> myServices;

}

现在当我序列化MyStackClass时:生成的json就像:

{
"id":1,
"services":[
     {"myService":
          {
             "myServiceId":27
          }
     },
     {"myService":
          {
             "myServiceId":3
          }
     }
]
}

但是我的客户说这不取决于响应准则。 json列表中不应包含多余的myService标记,因为已经知道这是services列表。它应该看起来像:

 {
    "id":1,
    "services":[
              {"myServiceId":27},
              {"myServiceId":3}
    ]
    }

我尝试了一些解决方案,但是没有用。我不想手动设置json,我正在寻找一种干净的杰克逊方法。

谢谢!

0 个答案:

没有答案