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类是一个开放类。任何模型实体类都应该是最终的