1

是否有可能忽略 JSON 序列化(用于 Web 显示)而不是 mongo(内部序列化)的字段?

到目前为止,我已经尝试了所有这些方法,但是 Mongo 也忽略了字段,或者在出现一些变化的情况下两者都没有被忽略

Jackson:如何防止字段序列化

4

2 回答 2

1

好的,我终于解决了这个问题。

objectMapper.writerWithView(Views.Public.class).writeValueAsString(lo)); 

writeValueUsingView 来自另一个版本的 Jackson,所以它不起作用

于 2014-07-11T12:26:30.020 回答
0

可以通过使用 @JsonView 注释来解决 web/mongo 的自定义序列化,请按照以下方式尝试:

class Views {
    static class OnAllViews {}
    static class OnlySomeViews extends OnAllViews {}
    ...
}

public class Thing {
    @JsonView(Views.OnAllViews.class) Integer id;
    @JsonView(Views.OnlySomeViews.class) String name;
}

然后你可以通过writeValueUsingView方法调用适当级别的序列化。

objectMapper.writeValueUsingView(out, beanInstance, ViewsPublic.class);

你可以在这里阅读更多关于它的信息。

于 2014-07-01T13:52:59.817 回答