【问题标题】:Parse Json using interfaces using jackson使用 jackson 使用接口解析 Json
【发布时间】:2018-06-08 19:00:03
【问题描述】:

我在 java 中有一个接口,我想用它来解析 json。例如,考虑接口:

interface Student {
  String getName();
  int getId();
}

还有一个像这样的 json:

{"id":1, "name"="jon"}

我想单独使用接口解析那个 json。这个类有多个具体的实现,实现类的字段比json中的多很多,所以我不想用那些类。我知道我可以通过定义我自己的调用处理程序在 java 中使用 dynamix 代理来实现这一点。但是,杰克逊是否已经内置了一些东西来做到这一点?

提前致谢。

【问题讨论】:

  • 怎么会是同一个问题?那里的解决方案需要更改实现类,而我正在寻找一种使用接口反序列化而不更改实现类的方法。不知道为什么这个问题被否决了。
  • 我只是说可能是这是同样的问题*。顺便说一句,我不是反对者。

标签: java jackson


【解决方案1】:

Jackson 必须能够从 JSON 创建对象,但不能实例化接口,所以这是一个不可能的问题(除了一些代理 hack)。如果你想反序列化为一个通用的对象类,只需将接口更改为一个类即可。

【讨论】:

  • 这个答案并不完全准确,因为可以为反序列化时使用的接口注册实现。
猜你喜欢
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 2014-06-11
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
相关资源
最近更新 更多