可以根据每个呼叫设置属性@JSONIgnore吗?

EJa*_*Jay 4 java json jackson

我正在使用促销代码的网站上为潜在的用户提供免费会员资格.水平,一个构件签约在是一个促销代码的对象的属性和存储在数据库中作为int,1或2.然而,该成员级别属性是相关的网站的UI的唯一时间为与特定促销代码相关联的着陆页.因此,对于这种情况,我不希望JSON忽略成员级别.在用户返回到站点并且具有与其帐户关联的促销代码对象之后,我们不再关心他们的成员级别,因此我希望JSON忽略成员级别属性.

所以我的问题是,是否可以@JSONIgnore在每个访问的基础上设置对象的属性,或者只能忽略或不忽略属性?换句话说有一种方法object.getAttribute().setAttributeJSONIgnore(true | false)吗?

Sta*_*Man 5

基于注释的方法是静态的,因为虽然您可以使用自定义AnnotationIntrospector,但JsonSerializer由于构造成本高昂,因此可以重复使用生成的实例.

但是有一些方法可以过滤掉属性,例如,查看" 过滤属性 "一文.