将.yml解析为对象(Kotlin)

时间:2018-07-18 06:02:58

标签: parsing kotlin yaml anchor snakeyaml

我有一个.yml

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

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

1 个答案:

答案 0 :(得分:0)

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

相关问题