【发布时间】:2016-10-06 22:00:26
【问题描述】:
我有以下要序列化的类。
class User {
private String username;
@JsonView(Views.Default.class)
private List<User> followers;
}
视图定义如下:
class Views {
static class Default { }
static class Follower { }
}
这个想法是获取用户并显示关注者列表(用户类型),但没有followers字段。
{
"username": "aaaaa",
"followers": [
{ "username" : "bbbbb" },
{ "username" : "ccccc" }
]
}
在序列化 User 对象时,告诉 Jackson 在 followers 属性上应用 Follower 视图的最佳方法是什么?
使用当前配置,我仍然可以在用户数组中看到 followers 属性。
谢谢。
【问题讨论】:
-
没有追随者财产意味着什么?你想只返回 json 数组作为响应吗?
-
@eg04lt3r 表示
followers中的用户对象必须使用Views.Followers.class视图反序列化。followers属性将在外部对象中可见,但在内部对象中不可见。 -
如果我理解正确,您希望在序列化时在用户的子集合中隐藏追随者属性,对吧?
-
@eg04lt3r 完全正确!
-
我认为您应该为此使用某种过滤器,请查看此链接codedump.io/share/kDsdkw2CeMNV/1/…。它可能会对你有所帮助,我想没有过滤器就无法解决这个问题。