Read YAML file Java Jackson Library


Read YAML File Java Jackson

In order to read a YAML file and convert it into a Java Object (POJO) you can make use of the Java Jackson Library,

Gradle Dependency:
'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.13.4'
Maven Dependency:
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.13.4</version>
</dependency>
YAML File: Student.yaml
name: Andy
age: 24
course: Computers Science
subjects:
  - C
  - C++
  - Java
  - Python
  - React
Student.java (POJO
public class Student {

    private String name;
    private int age;
    private String course;
    private String[] subjects;

    public Student() {
        //Default Constructor
    }

    public Student(String name, int age, String course, String[] subjects) {
        this.name = name;
        this.age = age;
        this.course = course;
        this.subjects = subjects;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getCourse() {
        return course;
    }

    public void setCourse(String course) {
        this.course = course;
    }

    public String[] getSubjects() {
        return subjects;
    }

    public void setSubjects(String[] subjects) {
        this.subjects = subjects;
    }
    
}
ReadYamlFileJacksonExample.java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;

import java.io.File;
import java.io.IOException;

public class ReadYamlFileJacksonExample {

    public static void main(String[] args) throws IOException {

        File yamlFile = new File("Student.yaml");
        ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
        Student student = objectMapper.readValue(yamlFile, Student.class);
        
        System.out.println(student.getName());
        System.out.println(student.getAge());

    }
}
Output:
Andy
24

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap