【发布时间】:2013-04-05 14:31:27
【问题描述】:
是否可以根据 JSON 的内容使用 Jackson 将 JSON 反序列化为两种类型之一?
例如,我有以下 Java(技术上是 Groovy,但这并不重要)接口和类:
interface Id {
Thing toThing()
}
class NaturalId implements Id {
final String packageId
final String thingId
Thing toThing() {
new PackageIdentifiedThing(packageId, thingId)
}
}
class AlternateId implements Id {
final String key
Thing toThing() {
new AlternatelyIdentifiedThing(key)
}
}
我将收到的 JSON 将如下所示:
这个 JSON 应该映射到 NaturalId {"packageId": "SomePackage", "thingId": "SomeEntity"}
这个 JSON 应该映射到 AlternateId {"key": "SomeUniqueKey"}
有谁知道我如何在不包括类型 ID 的情况下使用 Jackson 2.x 完成此任务?
【问题讨论】: