Jaxb json缺少一个元素数组的括号

Jaxb json缺少一个元素数组的括号,json,jaxb,brackets,Json,Jaxb,Brackets,我正在使用JAXB/Jersey(1.3)在RESTAPI中将java转换为json。 我读了很多关于这个问题的书,我尝试了这个,它工作了一半: @XmlRootElement public class ArrayWrapper { public List<String> list = new LinkedList<String>(); } 新包装器() 我得到{“aw”:{“list”:“test”} 有人知道如何修复吗?我不太确定

我正在使用JAXB/Jersey(1.3)在RESTAPI中将java转换为json。 我读了很多关于这个问题的书,我尝试了这个,它工作了一半:

@XmlRootElement  
public class ArrayWrapper    
{  
        public List<String> list = new LinkedList<String>();  
}
新包装器()
我得到{“aw”:{“list”:“test”}


有人知道如何修复吗?

我不太确定你是否能让它工作,所以我贡献我的一份力量

我最近也偶然发现了这个问题。我发现stackoverflow对我有帮助,但更有用的是这一点(介绍Jackson可能会有所帮助)

我希望这对你也有帮助。对我来说,解决这个问题只需5分钟。

我用了这个,这篇文章的第一个答案就行了
@Provider  
public class JAXBContextResolver implements ContextResolver<JAXBContext> {  

        private JAXBContext context;

        private Class[] types = {ArrayWrapper.class,Wrapper.class};

        public JAXBContextResolver() throws Exception {

            MappedBuilder builder = JSONConfiguration.mapped();
            builder.arrays("list");
            builder.rootUnwrapping(true);
            this.context = new JSONJAXBContext(builder.build(), types);
}  
@XmlRootElement  
public class Wrapper  
{  
    public ArrayWrapper aw;

    public Wrapper()
    {
        aw=new ArrayWrapper();
        aw.list.add("test");
    }
}