【发布时间】:2015-08-31 07:13:47
【问题描述】:
我对 scala 很陌生。我试图在scala中使用snakeyaml解析一个Yaml文件。我正在获取数据,但它是对象的形式。我可以将对象转换为字符串,但它违背了使用 Yaml 的全部目的。
例如我正在使用的文件是带有数据的“abcd.yaml”
aa:
- x
- y
bb: z
我的代码是这样的:
import java.io.{File, FileInputStream}
import org.yaml.snakeyaml.Yaml
def parseYaml(){
val ios = new FileInputStream(new File("abcd.yaml"))
val yaml = new Yaml()
val obj = yaml.load(ios)
}
但是在这里我得到一个对象,我不能使用里面的值。 有什么解决办法吗?
【问题讨论】:
-
根据文档,您必须强制转换才能从返回的文档中获取任何有意义的内容。尝试将其转换为
Map[String,Any]看看是否可行 -
嗨,我试过了,但我总是收到这样的错误(我使用 asInstanceOf[Map[String, Any]):线程“main”中的异常 java.lang.ClassCastException:java.lang.ClassCastException util.LinkedHashMap 不能转换为 scala.collection.immutable.Map
标签: scala parsing yaml snakeyaml