我正在以一对多基数连接表,我正在使用的类相互引用。而且我正在使用@JsonIgnore批注,而对它没有深入的了解。
答案 0 :(得分:0)
将对象序列化为Json时,标记为@JsonIgnore的字段将不包含在序列化的Json对象中。该属性由Json使用反射序列化读取。
答案 1 :(得分:0)
@JsonIgnore
用于忽略序列化和反序列化中使用的逻辑属性。 @JsonIgnore
可以在设置,获取或字段中使用。
如果您将@JsonIgnore
添加到字段或其getter方法中,则该字段不会被序列化。
样本POJO:
class User {
@JsonIgnore
private int id;
private String name;
public int getId() {
return id;
}
@JsonIgnore
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
用于序列化的示例代码:
ObjectMapper mapper = new ObjectMapper();
User user = new User();
user.setId(2);
user.setName("Bob");
System.out.println(mapper.writeValueAsString(user));
控制台输出:
{“名称”:“鲍勃”}
答案 2 :(得分:0)
Jackson的@JsonIgnore
批注可以放在字段,getter / settess和构造函数参数上,以标记在序列化为JSON(或从JSON反序列化)期间被忽略的属性。有关更多详细信息,请参见Jackson annotations reference documentation。