Leggere file YAML in Kotlin con SnakeYAML
SnakeYAML è una libreria per Java, e quindi compatibile anche con Kotlin, per leggere e manipolare file YAML.
Oggi vediamo come leggere un file usando una classe custom, usando Kotlin.
Cominciamo con l'installare la libreria; se usate Maven:
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
</dependency>
Poi creiamo un file YAML dentro alla cartella resources (test.yaml):
nome: "Mirco"
cognome: "Mirchi"
eta: 20
Questa la nostra classe Persona:
class Persona {
var nome: String = ""
var cognome: String = ""
var eta: Int = 0
}
Infine leggiamo i valori:
import org.yaml.snakeyaml.Yaml
import org.yaml.snakeyaml.constructor.Constructor
import java.io.InputStream
fun main(args: Array<String>) {
val yaml = Yaml(Constructor(Persona::class.java))
val inputStream: InputStream? = object {}.javaClass.classLoader.getResourceAsStream("test.yaml")
val p: Persona = yaml.load<Persona>(inputStream)
println(p.nome)
println(p.cognome)
println(p.eta)
}
Non è obbligatorio usare una classe custom; ma secondo è preferibile sia per lettura del codice, sia per apportare eventuali modifiche.
Enjoy!
kotlin yaml snakeyaml maven
Commentami!