0
我想问问它是否可以在Json中自定义在运行时序列化过滤器?可能在运行时自定义FilterProvider?
我Sourcelooks像:
FilterProvider filters = new SimpleFilterProvider()
.addFilter("XXX",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getMyView()));
String json= mapper.writer(filters).withDefaultPrettyPrinter().writeValueAsString(obj);
我需要的解决方案是这样的:
FilterProvider filters = new SimpleFilterProvider();
if(x==true)
filters.addFilter("XXX",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getXXXView()));
if(y==true)
filters.addFilter("YYY",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getYYYView()));
if(z==true)
filters.addFilter("ZZZ",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getZZZView()));
String json= mapper.writer(filters).withDefaultPrettyPrinter().writeValueAsString(obj);
事情是我喜欢做的过滤器视图添加到通过如果我的映射。否则,我必须在每种情况下添加它们,分开我认为是非常迂回的。