【发布时间】:2011-12-07 02:27:07
【问题描述】:
我想看看这样的东西
class User {
@JsonMask({"name", "address"})
private Company company;
private String name;
//...
}
class Company {
private String name;
private String address;
private Set<User> employers;
//...
}
当一个用户被序列化时,输出应该是
{"name": "Mike", "company": {"name": "Enterprise Co.Ltd", "address": "....." }}
而代价高昂的部分Set<User> 和其他子属性被安全地忽略了。
我对 Jackson 还不是很熟悉,只找到了 @JsonIgnore 来救援,但是我将永远失去所有这些 @JsonIgnored 属性。有没有优雅的方法来解决这个问题?
注意:我使用的是 Hibernate JPA,所以在我的模型类中有很多关系,有很深的关系链甚至循环引用,所以完整的 JSON 序列化总是会导致地狱......我用谷歌搜索了 @JsonManagedRef和朋友,但这只是解决循环问题,并且导致大量配置并且不太可读。
【问题讨论】:
标签: java json serialization annotations jackson