如何在JSON响应中隐藏信息?

时间:2013-10-19 21:43:29

标签: java json jackson javax.xml

假设我有一个Player类:(忽略访问修饰符)

@javax.xml.bind.annotation.XmlRootElement
class Player {
    Long id;
    String name;
    String secret;
}

我也可能在王国附近有城堡

@javax.xml.bind.annotation.XmlRootElement
class Kingdom {
    Long id;
    String name;
    Player owner;
}

现在,当我将王国对象吐到json供UI消费时,玩家对象也随之消失。这很好,如果你不知道它是友好还是敌人,那就不会有用了。但最糟糕的是秘密变量也被释放了。是否可以注释我的秘密变量以防止它被封送?

1 个答案:

答案 0 :(得分:5)

您可以使用

注释您的字段或getter
@JsonIgnore

javadoc陈述

  

标记注释,指示带注释的方法或字段   被基于内省的序列化和反序列化忽略   功能。也就是说,不应该考虑" getter"," setter"   或"创作者"。