2013-08-12 1 views
0

У меня есть несколько списков объектов в Java, которые я хотел бы быть закодирован в формате JSON с помощью Джексон 2.2.2 вместе:Джексон Json: кодируют несколько списков объектов

List<Department> departments = this.departmentService.listAll(); 
List<Role> roles = this.roleService.listAll(); 

Я хотел бы иметь результирующее JSON вида:

[ 
    "departments": [ 
        { 
        "departmentId": 1, 
        "otherKey" : otherValue 
        }, 
        { ... } 
        ], 
    "roles": [ 
       { 
       "roleId": 1, 
       "otherKey" : otherValue 
       } 
      ] 
] 

Я не уверен, что это Json является совершенным, но я думаю, вы получите идею.
Есть ли способ сделать это?

Спасибо!

+1

Просто используйте другую обертку (POJO с двумя свойствами, или java.util.Map). –

+0

Gonna try with new pojo :) спасибо –

+0

Это работало с новой оболочкой POJO, и она выводит то, что я исключал. Спасибо. Отправьте это как ответ, если вы хотите быть вознагражденным –

ответ

2
Map<String, Object> map = new HashMap<String, Object>(); 
map.put("departments", departments); 
map.put("roles", roles); 

Тогда вы можете сериализовать карту в формат JSON

+0

Желаю вам ответа, прежде чем я создал тонну POJO-оберток ...: p –

+0

Иногда карта очень гибкая, чем POJO :) –