java - 想要隐藏由 Jackson 映射到 JSON 的对象的某些字段

我有一个要使用 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,但我想知道是否可以通过配置来实现?

最佳答案

你有两个选择:

  1. Jackson 致力于字段的 setter-getter。因此,您可以删除要在 JSON 中省略的字段的 getter。 (如果您在其他地方不需要 setter/getter 。)

  2. 或者,您可以使用 @JsonIgnore annotation of Jackson在该字段的 getter 方法上,您会在结果 JSON 中看到没有这样的键值对。

    @JsonIgnore
    public int getSecurityCode(){
       return securityCode;
    }
    

https://stackoverflow.com/questions/14708386/

相关文章:

javascript - 使用 Javascript 更新 JSON 对象

jquery - 如何在 jQuery 中遍历这个 JSON 对象?

c# - 返回 Json,但它包含反斜杠 "\",我不想要

django - 在 JSON 中返回纯 Django 表单错误

php - PDOStatement 到 JSON

ios - Twitter api 文本字段值被截断

ruby-on-rails - 我应该如何格式化对我的 rails 应用程序的 JSON POST

java - 应用程序配置文件

java - 如何解析 JSON 并将其值转换为数组?

javascript - 如何对 Javascript 对象进行排序,或将其转换为数组?