此问题在此处已有答案:
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不支持<<:
扩展/覆盖吗?或者有一个功能开关我需要打开,我还没有找到?我已经读到处理这些是由一个模式,而不是解析器本身。
1条答案
按热度按时间0pizxfdo1#
Jackson以not handle references correctly而闻名。
你可以直接使用SnakeYAML,它支持引用和合并键
<<
。Jackson在幕后使用SnakeYAML,但不知何故搞砸了。SnakeYAML具有与Jackson几乎相同的功能,因此没有太多的理由需要坚持使用Jackson。