首页 > 解决方案 > 在 scala 中处理嵌套的 YAML 文件

问题描述

我有一个嵌套的 YAML 文件,如下所示,我想在 scala 中使用snakeyaml.Yaml 处理它但是我遇到了一个错误: Unable to find property 'myMap' on class MyConfig

这是我拥有的 Yaml 文件的示例:

myMap:
-
 name: key1
 value: value1
-
 name: key2
 value: value2

我为 YAML 结构定义了两个类。我正在使用 org.yaml.snakeyaml.Yaml 来执行 yaml.load

class ConfigParamsKeyValue {
  @BeanProperty var name: String = null
  @BeanProperty var value: String = null
}

class MyConfig{
  @BeanProperty var myMap= new java.util.ArrayList[ConfigParamsKeyValue]();
}

def loadConfig(filename : String): MyConfig = {
   val yaml = new Yaml(new Constructor(classOf[MyConfig]))
   val stream = new FileInputStream(filename)
   try {
     val obj = yaml.load(stream)
     obj.asInstanceOf[MyConfig]
   } finally {
   stream.close()
  }
}

标签: scalayaml

解决方案


推荐阅读