0
我想從傑克遜2.3升級到傑克遜2.7,並且它似乎@JsonIgnore(Include.NON_DEFAULT)行爲已更改。 用下面的代碼傑克遜Included.NON_DEFAULT不工作在2.7.0
package jackson;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Test {
public static void main (String args[]) throws Exception {
MyClass foo = new MyClass();
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(foo));
}
public static enum MyEnum { A, B, C };
public static class MyClass {
public String name = "John";
@JsonInclude(Include.NON_DEFAULT)
public MyEnum myEnum = MyEnum.A;
}
}
我得到使用2.7的輸出:以下使用2.3
{"name":"John","myEnum":"A"}
和:
{"name":"John"}
如何使用2.7版本複製在2.3的行爲?
我相信這是一個迴歸bug,並且已經爲Jackson問題跟蹤器打開了一個bug報告。 2.6.7沒有這個問題,所以你可以考慮使用,如果沒有你需要的另一個2.7功能。 –