Spring 3 ArrayList сериализации в JSON с Джексоном без переноса на объект (без имени) - PullRequest
3 голосов
/ 24 июля 2011

У меня есть простой ресурс, который должен возвращать массив JSON, но он возвращает объект, в котором есть массив:

@RequestMapping(value = "/types", method = RequestMethod.GET)
    public List <JsonObject> types() {
        ArrayList <JsonObject> list=new ArrayList<JsonObject>();
        list.add(new JsonObject("Audi"));
        list.add(new JsonObject("Mercedes"));
        return list;
    }

Где JsonObject - простой класс с тремя атрибутами String (value, id, label).

Возвращает:

{"jsonObjectList":[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]}

Но мне нужно то, что мне нужно (поскольку ожидается автоматическое заполнение JQery UI):

[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]

Как этого добиться?Заранее спасибо.

1 Ответ

4 голосов
/ 24 июля 2011

В Spring 3.1 у вас должна быть возможность установить свойство для компонента MappingJacksonJsonView с именем extractValueFromSingleKeyModel в true для удаления оболочки.

О, кажется, об этом спрашивали раньше Почему Джексон оборачивает мои объекты дополнительным слоем, названным в честь класса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...