Java 是否可以使用非空的setter反序列化yaml文档?

Java 是否可以使用非空的setter反序列化yaml文档?,java,yaml,deserialization,method-chaining,fluent-interface,Java,Yaml,Deserialization,Method Chaining,Fluent Interface,我正在从事一个项目,该项目中有大量数据对象在其setter上使用“流畅接口”或“方法链接”,因此每个数据对象中的所有setter都返回this。我环顾四周发现,但我不清楚这是否可以用于Yaml,因为注释特别提到JSON,而且这似乎可以使用实际的构建器模式映射到对象,这有点不同。该项目目前正在使用SnakeYaml,但如果其他库(如Jackson)能够做到这一点,则可以将其丢弃。事实证明,这是可能的。Jackson支持yaml,默认情况下将使用生成器样式设置器,无需任何额外配置。您尝试过吗?只要s

我正在从事一个项目,该项目中有大量数据对象在其setter上使用“流畅接口”或“方法链接”,因此每个数据对象中的所有setter都返回
this
。我环顾四周发现,但我不清楚这是否可以用于Yaml,因为注释特别提到JSON,而且这似乎可以使用实际的构建器模式映射到对象,这有点不同。该项目目前正在使用SnakeYaml,但如果其他库(如Jackson)能够做到这一点,则可以将其丢弃。

事实证明,这是可能的。Jackson支持yaml,默认情况下将使用生成器样式设置器,无需任何额外配置。

您尝试过吗?只要setter命名正确,参数类型正确,就不会有问题;SnakeYAML将丢弃返回值。但是,如果您有一个单独的生成器对象,如链接问题中所示,则需要为SnakeYAML.Yes编写自定义构造函数。我试过了,但没用。如果我的setters的返回类型是任何put void,它将抛出一个关于无法创建属性的错误。很不幸。那么SnakeYAML帮不了你。你可以尝试创建一个用Jackson的
@JsonCreator
注释的构造函数,它与YAML一起工作。我知道SnakeYaml做不到。我的问题是,是否有可能使用任何图书馆。告诉我使用一个不同的库,这样我就可以以一种与我的问题完全无关的方式构造数据对象,这是没有帮助的。第二,仅仅是寻找图书馆的问题。第三,如果您拒绝建议,请解释为什么该解决方案不适合您,而不是说“我不想那样做”。