对于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,我正在寻找一种干净的杰克逊方法。
谢谢!