我想通过使用对象映射器序列化不同类型的列表,但是我不知道如何
一次将不同类型的列表对象传递给对象Mapper。以下是我的代码:
AccountingService accService = ServiceFactory.getAccountingService();
List<TaxCategory> taxCategoryList = accService.getAllTaxCategories();
ProductService productService = ServiceFactory.getProductService();
List<SimpleUom> simpleUomList = productService.getSimpleUomsList();
ObjectMapper objMapper;
objMapper.writeValueAsString(?)--
您能否建议我必须通过而不是?在上面的代码中。这是因为我必须在jsp中获取包含以上列表的 jackson 序列化字符串作为单个字符串,并解析该字符串以获取要在客户端使用的单个列表。
最佳答案
只需尝试:
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);