为了账号安全,请及时绑定邮箱和手机立即绑定

在自定义反序列化器中将 JsonNode 转换为 POJO

在自定义反序列化器中将 JsonNode 转换为 POJO

慕勒3428872 2023-03-09 15:39:32
我想要实现的是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个赞

您可以像这样使用ObjectCodecin :JsonParser

jp.getCodec().treeToValue(root.get("user"), User.class)

这将User根据任何其他现有的序列化规则将您的对象还给您。

感谢@galcyurio 在将 JsonNode 转换为 POJO 中的评论:

您还可以在 StdDeserializer 中使用此方法:p.codec.treeToValue


查看完整回答
反对 回复 2023-03-09
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信