我想问一下是否有可能在运行时在Json序列化过滤器中进行自定义?
我的资源看起来像:
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);
事情是我喜欢通过If将筛选器视图添加到我的映射器中。否则,在每种情况下我都必须添加它们,以分开我认为非常circuit回的内容。
解决方法:(有点混乱)
String[] xxx= JsonFilterSerializer.getInstance().getxxxView();
FilterProvider filters = new SimpleFilterProvider()
.addFilter("xxxx",SimpleBeanPropertyFilter.serializeAllExcept(xxx))
可以像我一样将其包装在if情况下以解决问题。
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句