【问题标题】:How do i ignore a specific field from an list in JSON response如何忽略 JSON 响应中列表中的特定字段
【发布时间】:2021-03-02 06:58:30
【问题描述】:

我试图在反序列化期间忽略列表中的指定字段。我不确定如何为列表中的字段执行此操作。下面是我的 json 和响应类

示例 json

{
  "key": {
    "rowKey": "123"
  },
  "names": [
    {
      "firstName": "JON ",
      "firstNameFormatted": "JON"
    }
  ]
}

响应类

@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@ToString
public class Data {


    private Map<String,Object> key;


    private List<Map<String,Object>> names;
    
   

}

这里我想忽略

firstNameFormatted

来自我的 json 响应,但我不确定如何使用 jackson 来处理列表内的字段?

【问题讨论】:

  • 顺便说一句,该字段位于对象内部,而不是列表。
  • 但是,一般情况下,你不能使用Map&lt;String,Object&gt;,你需要一个带有@JsonIgnore注解的对象和字段
  • 对不起,当你说对象和字段注释时我不明白?在这种情况下,您指的是地图吗?
  • 我的意思是创建一个类来代替映射,您可以序列化一个将忽略某些String firstNameFormatted 字段的对象
  • 好的理解

标签: java json spring-boot jackson


【解决方案1】:

杰克逊对此有一个解决方案。只需使用@JsonIgnore 您可以在下面的示例中看到它

@JsonIgnore
public String getPassword() {
    return password;
}

现在密码信息不会被序列化为 JSON。

你也可以试试@JsonIgnoreProperties

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2011-02-24
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 2012-02-01
    • 2018-11-18
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多