【问题标题】:SnakeYaml issue in scalaScala中的SnakeYaml问题
【发布时间】:2021-11-01 10:06:11
【问题描述】:

我正在尝试弄清楚如何将嵌套数据类型与snakeyaml 一起使用。我无法让内部类正确显示

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 时遇到问题

【问题讨论】:

  • 您介意添加您的导入,以便人们可以实际尝试运行您的代码吗? (也是特定依赖项的 build.sbt)

标签: scala yaml snakeyaml


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-07
    • 2015-08-31
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 2018-05-11
    • 2020-04-28
    • 1970-01-01
    相关资源
    最近更新 更多