-
Jackson反序列化时,会根据带get的方法去掉get后首字母小写来确定参数,所以,如果某个get函数没有参数,则请使用@JsonIgnore来避免它序列化,否则会出现错误
-
Jackson需要类提供空构造函数,才能反序列化,否则会出错,这一点貌似和DDD中的不变量冲突
-
Jackson在反序列化时不支持对枚举的非构造函数中参数的设置,比如在下面这个枚举中,ignore字段是不会被设置的
enum E{ A(1,""); private int value; private String desc; E(int value,String desc){ this.vaule = value; this.desc = desc; } private int ignore; public void setIgnore(int ignore){ this.ignore = ignore; } }
Jackson序列化的其他问题,可以参考文章
https://my.oschina.net/u/3664884/blog/1932829
https://blog.csdn.net/vertx/article/details/10426689