我在一个网站上工作,该网站使用促销代码潜在地为用户提供该网站的免费成员(member)资格。成员(member)注册的级别是促销代码对象的属性,并作为 1 或 2 的 int 存储在数据库中。但是,成员(member)级别属性与网站 UI 相关的唯一时间是与特定促销代码关联的着陆页。所以对于那种情况,我不希望成员级别被 JSON 忽略。在用户返回网站并拥有与其帐户关联的促销代码对象后,我们不再关心他们的成员(member)级别,因此我希望 JSON 忽略成员(member)级别属性。
所以我的问题是,是否可以在每次访问的基础上将对象的属性设置为 @JSONIgnore
,或者只能忽略或不忽略属性?换句话说,是否有像 object.getAttribute().setAttributeJSONIgnore(true | false)
这样的方法?
最佳答案
没有。基于注释的方法是静态的,因为虽然您可以使用自定义 AnnotationIntrospector
,但生成的 JsonSerializer
实例会被重用,因为它们的构建成本很高。
但是有一些方法可以过滤掉属性,例如查看“Filtering Properties”文章。
关于java - 可以在每次调用的基础上设置属性 @JSONIGnore 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438972/