【发布时间】:2021-01-17 23:16:04
【问题描述】:
我有一个自定义的 jackson 序列化器,它适用于序列化单个 pojo。我试图序列化一个对象列表。如果没有自定义序列化程序,我可以这样做:
public List<Sale> getAllSales() {
return saleRepository.getAll();
}
效果很好,但我想返回一组非常具体的数据,所以我制作了一个自定义序列化程序,它也适用,但仅适用于单个对象:
public Sale getSale(int id) {
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule();
module.addSerializer(Sale.class, new SaleSerializer());
mapper.registerModule(module);
Sale sale = saleRepository.findById(1).orElse(null);
return mapper.writeValueAsString(sale);
}
如何为对象列表实现自定义序列化程序?
【问题讨论】:
-
您的
getSale()方法不可编译。它声明的返回类型是Sale,但它实际上返回一个String
标签: json spring serialization jackson