java - Jackson - 动态抑制属性的序列化(写入)

标签 java json jackson

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

我可以使用 JsonIgnore,但我想在运行时做出忽略决定。有什么想法吗??

因此作为下面的示例,我想在将用户对象序列化为 JSON 时抑制“id”字段。

new ObjectMapper.writeValueAsString(user);


class User {

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

//getters
//setters

}//end class

最佳答案

是的,JSON View 是必经之路。

如果你例如需要让客户端决定编码(marshal)哪些字段,此示例可能会有所帮助:http://svn.codehaus.org/jackson/tags/1.6/1.6.3/src/sample/CustomSerializationView.java

关于java - Jackson - 动态抑制属性的序列化(写入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981359/

相关文章:

Linux 和 Windows 之间的 Java 内存使用差异

javascript - 对具有多个对象但没有键的 JSON 数组进行排序

jquery - 使用防伪 token 将 JSON 模型发布到 ASP.Net MVC3

java - MyBatis 不区分大小写的反序列化

java - 在 Java 中使 JSON 变得漂亮的最佳方法

java - 我如何将 Fuseki 与 Jena TDB 一起使用

java - 调用 hibernate query list() 方法会产生错误

java - 仅更改 ImageButton 背景的一种状态(默认状态)

c# - Web API 2.0 - 使用 JavaScriptConverter 自定义日期格式

java - 我应该如何在我的 RESTful JAX-RS Web 服务中记录未捕获的异常?