Jaxb json липсват скоби за един масив от елементи

Използвам JAXB/Jersey (1.3), за да конвертирам java в json в REST API. Четох много за този проблем, опитах това решение, работи наполовина:

@XmlRootElement  
public class ArrayWrapper    
{  
        public List<String> list = new LinkedList<String>();  
}

и моя ContextResolver:

@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);
}  

ArrayWrapper aw=нов ArrayWrapper();
aw.list.add("тест");

Получавам {"list":["test"]}, така че работи, но когато обвивам ArrayWrapper в друг клас, не работи:

@XmlRootElement  
public class Wrapper  
{  
    public ArrayWrapper aw;

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

new Wrapper();
Получавам {"aw":{"list":"test"}}

Някой знае ли как да го оправя?


person Gwen    schedule 17.06.2011    source източник
comment
Използвах това решение, първият отговор на публикацията работи   -  person Gwen    schedule 20.06.2011


Отговори (1)


Не съм съвсем сигурен дали работи, така че давам своя принос.

Аз също попаднах на този проблем наскоро. Намерих публикация в stackoverflow, която ми помогна, но още по-полезно беше това статия (представянето на Jackson може да помогне).

Надявам се това да ви помогне също. За мен беше въпрос на 5 минути да оправя проблема.

person Boris Strandjev    schedule 23.12.2011