有没有一种方法,当我使用jackson&spring mvc将json映射到pojo时,我不需要为布尔字段添加@JsonProperties

时间:2018-09-28 08:09:35

标签: java json jackson

我找不到解决此问题的方法,但是...也许这不是问题。

我将Extjs用作前端,将Spring MVC用作后端,Ajax请求如下所示:

{"isOk": true}

映射DTO为:

public class TestDTO implements Serializable {

    private static final long serialVersionUID = -6074462313103219627L;

    private Boolean isOK;
    public Boolean isOk(){...}
    Public void setOk(Boolean isOk){...}
}

get / set方法是由intellij idea生成的,您可以想象如果我在“ setOk”方法下添加@JsonProperty(“ isOk”),杰克逊可以正常工作。

但是我有很多*** DTO对象,所以有解决此问题的简便方法吗?谢谢。


我已经检查了“ com.fasterxml.jackson.databind.SerializationFeature”类,但未找到任何类似“ compatible_boolean_and_ignore_is_keyword”等的配置。

2 个答案:

答案 0 :(得分:1)

我没有对其进行测试,但可能会对您的情况有所帮助:

https://stackoverflow.com/a/35088196/677937

基本上,尝试将您的getter / setter重命名为:

getIsOk / setIsOk

然后应以{"isOk": ... }的形式对json进行序列化/反序列化

答案 1 :(得分:0)

自从我使用spring已有一段时间了,但是如果我没记错的话,您必须

  • 使用@Entity注释类
  • 实现可序列化的接口(class DTO implements Serializable
  • 提供默认的构造函数