转换为jSON时忽略java bean字段
我有一个java bean并发送JSON作为响应,在我想要的那个java bean中 一些瞬态字段,不应该进入JSON。
@XmlRootElement(name = "sample")
class Sample{
private String field1;
@XmlTransient
private String transientField;
//Getter and setters
public String toJSON() throws Exception {
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(this);
return json;
}
}
当我调用JSON方法时,我仍然在JSON中获得“transientField”。
我有一个get rest API,它将此Sample JSON作为响应返回。
@GET
@Path("/somePath/")
@Produces({"application/json"})
Sample getSample();
在这个回复中我也得到了那个瞬态场。 难道我做错了什么?请帮我这样做。
答案 0 :(得分:2)
请尝试使用@JsonIgnore
。
答案 1 :(得分:1)
方法1:对POJO使用注释@JsonIgnoreProperties(“fieldname”)
示例:@JsonIgnoreProperties(ignoreUnknown = true,value = {“fieldTobeIgnored”})
方法2:@JsonIgnore用于要忽略的特定字段反序列化JSON