Сериализация Джексона с ObjectMapper в java
Я хочу сериализовать различные типы списков с помощью mapper-объекта, но я не знаю, как передавать различные типы объектов списка в объект Mapper за раз. Ниже приведен мой код:
AccountingService accService = ServiceFactory.getAccountingService();
List<TaxCategory> taxCategoryList = accService.getAllTaxCategories();
ProductService productService = ServiceFactory.getProductService();
List<SimpleUom> simpleUomList = productService.getSimpleUomsList();
ObjectMapper objMapper;
objMapper.writeValueAsString(?)--
Не могли бы вы предложить то, что мне нужно передать вместо? в вышеприведенном коде. Это из-за того, что я должен получить сериализованную строку jackson, которая включает в себя приведенные выше списки как одну строку в jsp, и проанализировать эту строку, чтобы получить отдельные списки, которые будут использоваться на стороне клиента.
Ответы
Ответ 1
Просто попробуйте:
ObjectMapper objMapper = new ObjectMapper();
String jsonString = objMapper.writeValueAsString(simpleUomList);
Изменить в соответствии с комментарием:
Вам нужно создать класс, обертывающий ваши два списка, а затем напишите его:
public class MyLists {
private List<TaxCategory> taxCategoryList;
private List<SimpleUom> simpleUomList;
// + constructor, getters and setters
}
ObjectMapper objMapper = new ObjectMapper();
MyLists myLists = new MyLists(taxCategoryList, simpleUomList);
String jsonString = objMapper.writeValueAsString(myLists);