杰克逊 - 动态地抑制属性的序列化(写入)

kap*_*pso 10 java json jackson

我正在尝试使用Jackson将Java对象转换为Tomcat/jersey中的JSON对象.并希望动态地抑制某些属性的序列化(写入).

我可以使用JsonIgnore,但我想在运行时做出忽略决定.有任何想法吗??

因此,作为下面的示例,当我将User对象序列化为JSON时,我想要禁止"id"字段.

new ObjectMapper.writeValueAsString(user);


class User {

private String id = null;
private String firstName = null;
private String lastName = null;

//getters
//setters

}//end class
Run Code Online (Sandbox Code Playgroud)

ska*_*man 0

我看不出有什么办法可以做到这一点。如果您需要动态决定编组哪些属性,那么我建议您手动构造Map对象值的键,然后将其传递Map给 Jackson,而不是User直接传递对象。