我有一个要使用 Jackson 映射到 JSON 的 User 类。
public class User {
private String name;
private int age;
private int securityCode;
// getters and setters
}
我使用 - 将其映射到 JSON 字符串
User user = getUserFromDatabase();
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user);
我不想映射 securityCode
变量。有没有办法配置映射器以使其忽略此字段?
我知道我可以编写自定义数据映射器或使用 Streaming API,但我想知道是否可以通过配置来实现?
最佳答案
你有两个选择:
Jackson 致力于字段的 setter-getter。因此,您可以删除要在 JSON 中省略的字段的 getter。 (如果您在其他地方不需要 setter/getter 。)
或者,您可以使用
@JsonIgnore
annotation of Jackson在该字段的 getter 方法上,您会在结果 JSON 中看到没有这样的键值对。@JsonIgnore public int getSecurityCode(){ return securityCode; }
关于java - 想要隐藏由 Jackson 映射到 JSON 的对象的某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708386/