我想要实现的是JsonNode在自定义反序列化器中将 a 转换为 POJO(即反序列化)。大多数其他答案,比如这里的这个,建议使用ObjectMapper,但该deserialize方法具体没有对象映射器,因此解决方案不起作用。这是我的自定义反序列化器:class AccountDeserializer extends StdDeserializer<Input> { public AccountDeserializer() { this(null); } public AccountDeserializer(Class<?> vc) { super(vc); } @Override public Account deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode root = jp.getCodec().readTree(jp); User user = root.get("user").????; // other statements Account acc = new Account(user); return acc; }}(User是一个简单的类)
1 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
您可以像这样使用ObjectCodec
in :JsonParser
jp.getCodec().treeToValue(root.get("user"), User.class)
这将User
根据任何其他现有的序列化规则将您的对象还给您。
感谢@galcyurio 在将 JsonNode 转换为 POJO 中的评论:
您还可以在 StdDeserializer 中使用此方法:p.codec.treeToValue
添加回答
举报
0/150
提交
取消