Leggere file YAML in Java con YamlBeans

Mattepuffo's logo
Leggere file YAML in Java con YamlBeans

Leggere file YAML in Java con YamlBeans

E' la prima volta che tratto il formato YAML, perchè in genere cerco di usare JSON (o XML al limite).

Però ho dovuto mettermi in pari anche su questo formato.

Al link postato sopra potete avere una panoramica e qualche esemppio.

Qui invece potete vedere una lista di librerie per svariati linguaggi.

Noi vedremo come usare YamlBeans in Java.

Partiamo da questo esempio (persone.yml):

name: Giovanni
job: Developer
skills:
    - php
    - ruby
    - java

---

name: Marzio
job: IT Manager
skills:
    - Debian
    - Docker
    - Ansible

Come vedete ho messo due rercod, così da vedere come eseguire una iterazione sul file.

Se usate Maven, potete installare la libreria così:

        <dependency>
            <groupId>com.esotericsoftware.yamlbeans</groupId>
            <artifactId>yamlbeans</artifactId>
            <version>1.06</version>
        </dependency>

A questo punto vediamo un esempio:

import com.esotericsoftware.yamlbeans.YamlException;
import com.esotericsoftware.yamlbeans.YamlReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Map;

public class Main {

    public static void main(String[] args) {
        try {
            YamlReader yr = new YamlReader(new FileReader("persone.yml"));
            while (true) {
                Map<String, Persone> map = (Map<String, Persone>) yr.read();
                if (map == null) {
                    break;
                }
                System.out.println(map.get("name"));
                System.out.println(map.get("job"));
                System.out.println(map.get("skills"));
                System.out.println("---");
            }
        } catch (FileNotFoundException | YamlException ex) {
            System.out.println(ex.getMessage());
        }
    }

}

Il risultato in console sarà questo:

Giovanni
Developer
[php, ruby, java]
---
Marzio
IT Manager
[Debian, Docker, Ansible]

Come al solito è un esempio basico, che si può sicuramente migliorare.

Enjoy!


Condividi

Commentami!