Scala Snake YAML
import scalaj.collection.Imports._
import org.yaml.snakeyaml.Yaml
def parse(str: String) = {
new Yaml().load(str) match {
case obj: ArrayList[_] =>
val seqOfMaps = obj.asScala.collect {
case hashMap: HashMap[_, _] =>
hashMap.asScala.toMap.asInstanceOf[Map[String, Any]]
}.toSeq
if (seqOfMaps.isEmpty) None else Some(seqOfMaps)
case obj: HashMap[_, _] =>
Some(Seq(obj.asScala.toMap.asInstanceOf[Map[String, Any]]))
case obj: Any =>
None
}
}