JacksonYAML:支持锚扩展/覆盖[重复]

gxwragnw  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(83)

此问题在此处已有答案

YAML Jackson - Anchor keys of Array(1个答案)
上个月关门了。
我尝试使用Jackson2.15.2 YAMLFactory来解析锚扩展语法:

sections:
- &packetInfo
    name: packetInfo
    description: information on a received UDP packet

字符串
然后,

sections:
-   <<: *packetInfo
    description: something else


但是我得到了:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "<<",它给出了将<<视为任何其他字段名的所有迹象。
如果我像这样删除<<:,它加载正常(当然没有覆盖选项),所以锚/参考系统工作正常:

sections:
-   *packetInfo


Jackson不支持<<:扩展/覆盖吗?或者有一个功能开关我需要打开,我还没有找到?我已经读到处理这些是由一个模式,而不是解析器本身。

0pizxfdo

0pizxfdo1#

Jackson以not handle references correctly而闻名。
你可以直接使用SnakeYAML,它支持引用和合并键<<。Jackson在幕后使用SnakeYAML,但不知何故搞砸了。
SnakeYAML具有与Jackson几乎相同的功能,因此没有太多的理由需要坚持使用Jackson。

相关问题