所以我有一个奇怪的问题,杰克逊的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的字段。