我正在try 使用Jackson 2.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 "<<" ,它给出了将<<作为任何其他字段名对待的所有迹象.

如果我像这样删除<<:,它会加载OK(当然,没有覆盖选项),所以锚/参考系统正在工作:

sections:
-   *packetInfo

杰克逊不支持<<:扩展/覆盖吗?或者有没有我需要打开的功能switch ,但我还没有找到?我读到过,处理这些内容是由模式完成的,而不是解析器本身.

推荐答案

杰克逊为not handle references correctly人所知.

您可以直接使用SnakeYAML,它支持引用和合并键<<.杰克逊在引擎盖下使用了SnakeYAML,但不知何故搞砸了.

SnakeYAML拥有与杰克逊几乎相同的功能,所以你没有太多理由坚持使用杰克逊.

Java相关问答推荐

如何使用CSS为选定但未聚焦的表格行设置背景 colored颜色 ?

@org.springframework.beans.factory.annotation.Autowired(required=true)-注入点有以下注释:-SpringBoot

需要一个找不到的jakarta.sistence.EntityManager类型的Bean

Java Swing:初始化身份验证类后未检测到ATM_Interface键事件

扩展到弹出窗口宽度的JavaFX文本字段

Spark上下文在向Spark提交数据集时具有内容,但Spark在实际构建它时发现它为空

如何在运行时动态创建表(使用Java、JPA、SprringBoot)

Com.google.firebase.database.DatabaseException:无法将类型为java.lang.Boolean的值转换为字符串.这是关于什么的?

WebSockets和Spring Boot安全性出现错误401

Domino Designer 14中的保存代理添加了重影库

如何在Cosmos DB(Java SDK)中增加默认响应大小

使用正则表达式从字符串中提取多个值

try 使用类来包含JSON响应

AWS Java SDK v2.x中没有setObjectAcl方法

在不使用instanceof或强制转换的情况下从父类变量调用子类方法

RestTemplate Bean提供OkHttp3ClientHttpRequestFactory不支持Spring Boot 3中的请求正文缓冲

如何在Selenium上继续使用最新的WebDriver版本

ControlsFX RangeSlider在方向垂直时滞后

message.acknowledge()没有';在使用Spring Boot在ActiveMQ中读取消息后,t将消息出列

java.util.LinkedList()是如何成为MutableList的实例的?