【发布时间】:2021-09-16 21:25:21
【问题描述】:
我想知道是否可以将 JSON 字符串反序列化为没有注释的类对象。
假设我没有 JSON 模式,也无法生成 pojo 类,但我已经有了没有注释的类。反序列化器有没有办法自动检测类属性和子类属性?
我一直在互联网上寻找解决方案,但所有解决方案都涉及没有子类作为属性的类。就我而言,我有一个复杂的类结构,属性名称也与 JSON 字符串中的元素名称相同或相似。
我还尝试根据我的 JSON 字符串生成类。我用jsonschema2pojo 做到了这一点,但问题是我的 pojo 类只包含 JSON 字符串中列出的元素,因此它们没有完全生成。如果没有 JSON 方案,我无法生成它们。
【问题讨论】:
-
那么您是否尝试过不带注释的反序列化?如果字段名称匹配,则应该是可能的。请提供一个真实案例。
-
不,它们不匹配,这是我的问题。只是其中一些匹配。另一个问题:我想要反序列化的类中包含的类没有与 JSON 输入的子字段匹配的所有属性。 ://
-
这是没有注释的类:github.com/graphhopper/graphhopper/blob/master/api/src/main/…@pirho,例如,在我的 JSON 输入中,我有一个名为“hints”的字段,但是在这个类中没有具有该标识符的属性,但是“ hintsMap”,这就是为什么我得到一个错误,即这个字段不能被类中的任何属性引用。
-
虽然指向完整代码的链接有时很有用,但创建MRE 通常更有用。猜猜mixin是解决方案。
标签: java json jackson deserialization