mat*_*ndr 5 java json annotations jackson
考虑以下类别:
private static class Widget {
@JsonProperty
private String id = "ID";
@JsonIgnore
private String jsonIgnored = "JSON_IGNORED";
private String noAnnotation = "NO_ANNOTATION";
}
Run Code Online (Sandbox Code Playgroud)
如果使用Jackson序列化此序列,则将得到以下字符串:
{"id":"ID"}
Run Code Online (Sandbox Code Playgroud)
@JsonIgnore有注释的属性与没有注释的属性有什么区别?
@JsonIgnore注释的属性/方法不会被Jackson序列化/反序列化。虽然不会被注释。
这里的问题是杰克逊通常会寻找吸气剂,而您没有指定任何吸气剂。这就是为什么它仅序列化@JsonProperty带注释的属性的原因。
如果为3个属性实现3个getter,则json如下所示:
{
"id":"ID",
"noAnnotation":"NO_ANNOTATION"
}
Run Code Online (Sandbox Code Playgroud)