我正在尝试使用JAXB绑定注释来注释一组数据对象,以便可以使用CXF将这组数据对象正确地封送为JSON。我遇到的问题是一个基本上只是ArrayList包装的类:
class IntegerListWrapper {
private ArrayList<Integer> integerList;
...
}
我的一些数据对象引用了这个类:
class DataObjectFoo {
...
public IntegerListWrapper getDataIDs() {
...
}
...
}
我正在寻找输出:
"DataObjectFoo" : {
"dataIDs" : [1, 2, ..., n] // Array of Data IDs
}
我试过注释IDList类本身,但它给我留下了这个:
"DataObjectFoo" : {
"dataIDs" : { "integerList" : [1, 2, ..., n] } // Extra nesting
}
我尝试编写一个XmlAdapter,但结果好坏参与:
// Throws an error... "Can't bind to interface"
public final class IDListAdapter extends XmlAdapter<List<Integer>, IDList> {
// Does not produce any output
public final class IDListAdapter extends XmlAdapter<ArrayList<Integer>, IDList> {
// Produces output with extra nesting like above
public final class IDListAdapter extends XmlAdapter<Integer[]>, IDList>
所以我有两个问题:
答案 0 :(得分:0)
我不确定你是否可以使用额外的包装类。你能不能让“getDataIds()”调用返回List吗?