java如何使用jackson的mixin映射复杂类型?
假设我有这些POJO:
public class Person()
{
private String firstName;
private String lastLamel
private Address address;
// setters, getters, toString...
}
public class Address()
{
private String line1;
private String city;
// setters, getters, toString...
}
我们可以轻松序列化以下json:
{
"firstName":"John"
"lastName":"Smith"
"address" : {
"line" : "Fake Street",
"city" : "Fake town"
}
}
现在,让我们假设,除了上面的json,我还需要从具有完全不同结构的XML序列化对象:
<r00t>
<PrsInfo>
<frNm>John</fnNm>
<lNm>Smith</lNm>
</PrsInfo>
<lctn>
<addr>
<ln>Fake Street</ln>
<town>Fake town</town>
</addr>
</lctn>
</r00t>
现在,首先我考虑了MOXy,因为可以在external file中定义绑定。不过,我觉得莫西和杰克逊在一起会很奇怪。然后,我调查了杰克逊的混音。mixin需要有一个包含映射指令的抽象类(或接口),PersonMixIn和AddressMixIn也是如此。就我的情况而言,据我所知,我必须制作POJO的副本,作为结构怪异的xml之间的代理。也就是说,我试图避免使用Person、PersonMixin、Address、AddressMixin等,因为对于我试图完成的任务来说,这似乎有点过分了。如果要序列化两个以上的POJO,那么它将非常混乱
有没有一种方法可以让我拥有一个PersonMixIn类并映射该xml(带有地址)
共 (0) 个答案