Scala 中的 SnakeYaml 问题

SnakeYaml issue in scala

我正在尝试了解如何将嵌套数据类型与 snakeyaml 一起使用。我无法让内部 class 正常显示

class RawEdgeTypeSpec() {
  @BeanProperty var edge_type: Int = -1
  @BeanProperty var weighted: String = ""
}

class RawNodeTypeSpec {
  @BeanProperty var node_type: Int = -1
  @BeanProperty var edge_types: List[RawEdgeTypeSpec] = List()
}


    val spec3 = new RawEdgeTypeSpec()
    spec3.setEdge_type(2)
    spec3.setWeighted("true")
    val spec2 = new RawNodeTypeSpec()
    spec2.setNode_type(2)
    spec2.setEdge_types(List(spec3))

    val output = new Yaml().dump(spec2)

这会打印

edge_types: !!scala.collection.immutable.$colon$colon {}
node_type: 2

edge_types 无法正确识别和序列化

同样,我在反序列化 yaml 时遇到了问题

SnakeYAML 是一个不了解 Scala 的 Java 库,因此您需要使用 java.util.List[RawEdgeTypeSpec] SnakeYAML 才能理解这是一个列表。