jackson最近蹚的坑

对象打印问题

代码如下


image.png

putPojo一个对象,我们希望的肯定是该对象被序列化为json串,可是不同版本打印结果如下。
第一行是jackson版本2.7.4,第二行是2.11.0。 通过升级版本解决问题。


image.png

不止序列化属性问题

demo代码如下,方法getTestEntity()可以是我们面向对象编程中的一个处理方法

public static class Obj1 {
        private String name;
        private int id;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getTestEntity(){
            return "hello";
        }

        @Override
        public String toString() {
            return "Obj1{" +
                    "name='" + name + '\'' +
                    ", id=" + id +
                    '}';
        }
    }

我们希望打印json的时候只打印出属性,可是实际打印

{"name":"hello","id":1,"testEntity":"hello"}

原因,json会从getter中进行解析,目前没找到什么配置可以解决,暂时的解决方法是把getTestEntity()改为非get开头,大家有什么好的解决方法欢迎交流。

你可能感兴趣的:(jackson最近蹚的坑)