我有一个 JSON 结构,其中包含我的 POJO 中没有的包装级别。像这样:
JSON:
{
"category1": {
"cat1Prop1": "c1p1",
"cat1Prop2": "c1p2",
"cat1Prop3": "c1p3"
},
"category2": {
"cat2Prop1": "c2p1",
"cat2Prop2": "c2p2"
},
"category3": {
"cat3Prop1": "c3p1",
"cat3Prop2": "c3p2",
"cat3Prop3": "c3p3"
},
"category4": {
"cat4Prop1": "c4p1"
}
}
POJO:
public class MyPojo {
private String cat1Prop1;
private String cat1Prop2;
private String cat1Prop3;
private String cat2Prop1;
private String cat2Prop2;
private String cat3Prop1;
private String cat3Prop2;
private String cat3Prop3;
private String cat4Prop1;
// Getters / setters, etc...
}
如您所见,JSON 有一个“类别”级别(出于不同的原因,我不想在我的 Pojo 中使用该级别)。
我正在寻找一种使用 Jackson 进行序列化/反序列化的方法,以平稳地处理这个问题。
我知道杰克逊有一个@JsonUnwrapped注释,可以处理相反的情况。我也知道有一个“@JsonWrapped”注释的功能请求,我认为这可以解决我的问题。
感谢您对此的任何意见或帮助,因为我一直在环顾四周。此外,关于如何使用任何其他库(如 gson、flexjson 等)来完成此操作的任何建议也很有趣。