Parsing 将.yml解析为对象(Kotlin)

Parsing 将.yml解析为对象(Kotlin),parsing,kotlin,yaml,anchor,snakeyaml,Parsing,Kotlin,Yaml,Anchor,Snakeyaml,我有一个 anchor: &my_anchor id: my_id name: my_name ref: *my_anchor 下面是我在代码中的类 class Response { latenit var anchor: MyAnchor lateinit var ref: MyAnchor } open class MyAnchor { lateinit var id: String lateinit var name: String

我有一个

anchor: &my_anchor
  id: my_id
  name: my_name

ref: *my_anchor
下面是我在代码中的类

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)
除了类“Response”的属性“ref”的类型为“LinkedHashMap”而不是“MyAnchor”之外,一切似乎都正常。我收到了这样的信息

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

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

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