scala
libraryDependencies += "org.yaml" % "snakeyaml" % "1.27"
scala
import org.yaml.snakeyaml.Yaml
import java.io.InputStream
case class Person(name: String, age: Int)
object Main extends App {
val yaml: Yaml = new Yaml()
val inputStream: InputStream = getClass.getResourceAsStream("/data.yaml")
val data: Map[String, Any] = yaml.load(inputStream).asInstanceOf[java.util.LinkedHashMap[String, Any]]
val person: Person = Person(data.get("name").asInstanceOf[String], data.get("age").asInstanceOf[Int])
println(person)
}
scala
import org.yaml.snakeyaml.DumperOptions
import org.yaml.snakeyaml.Yaml
import java.io.FileWriter
case class Person(name: String, age: Int)
object Main extends App {
val person: Person = Person("John Doe", 30)
val options: DumperOptions = new DumperOptions()
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK)
val yaml: Yaml = new Yaml(options)
val writer: FileWriter = new FileWriter("output.yaml")
yaml.dump(person, writer)
writer.close()
}