Jackson ObjectMapper在读取POJO到JsonNode时如何使用JsonView

时间:2018-04-13 18:57:37

标签: java json jackson json-view

所以我有一个奇怪的问题,杰克逊的ObjectMapper有一个valueToTree(someObject)方法,它接受一个POJO并输出一个JsonNode。但是,我所拥有的对象上有一个bajillion字段,在执行此操作时不应序列化,通常当我想将对象序列化为字节或字符串时,可以通过以下方式轻松完成:

mapper.writerWithView(User.WithRoles.class).writeValueAsBytes(myUser)

但是,似乎我没有使用这个valueToTree方法的JsonView,所以我唯一的选择似乎是手动创建json(呃)或像这样做一些噩梦:

final JsonNode userJson = mapper.readTree(mapper.writerWithView(User.class).writeValueAsBytes(userAndRoles.getKey()));

我在哪里解析json。当然必须有一个更好的方法,对吗?

有一个类似的问题here,但有趣的是作者似乎只是想要一个JsonNode,因为Play Framework的ok(content)unauthorized(content)等方法只接受JsonNodes或者其他东西?我不知道。无论如何,那里接受的答案对我没有帮助,我实际上需要一个JsonNode,我需要JsonNode不包含不属于我想要的JsonView的字段。

0 个答案:

没有答案