转换为jSON时忽略java bean字段

时间:2016-10-18 06:29:15

标签: java json rest jaxb cxf

转换为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();

在这个回复中我也得到了那个瞬态场。 难道我做错了什么?请帮我这样做。

2 个答案:

答案 0 :(得分:2)

请尝试使用@JsonIgnore

答案 1 :(得分:1)

方法1:对POJO使用注释@JsonIgnoreProperties(“fieldname”)

示例:@JsonIgnoreProperties(ignoreUnknown = true,value = {“fieldTobeIgnored”})

方法2:@JsonIgnore用于要忽略的特定字段反序列化JSON