将 .yml 解析为对象 (Kotlin)

parse .yml as an object (Kotlin)

我有一个.yml

anchor: &my_anchor
  id: my_id
  name: my_name

ref: *my_anchor

这是我的class代码

class Response {
    latenit var anchor: MyAnchor
    lateinit var ref: MyAnchor
}

open class MyAnchor {

    lateinit var id: String
    lateinit var name: String
}

这是一个解析文件的 SnakeYaml 代码

val result = Yaml(Constructor(Response::class.java)).loadAs(content, Response::class.java)

除了 class "Response" 的 属性 "ref" 的类型为 "LinkedHashMap" 而不是 "MyAnchor".我收到这样的消息

field ref has type MyAnchor, got java.util.LinkedHashMap

也许我应该设置一些标签?如果你能帮助我,我将不胜感激。

我找到了解决方案。问题是 class MyAnchor::class 是一个开放的。任何模型实体 class 应该是最终的