YAML Parser using Java Jackson Library Example


Parse YAML file into Java POJO Object using Jackson

In order to parse a YAML file using Java you will need to make use of the jackson-dataformat-yaml library,

Gradle Jackson YAML Dependency:
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.13.4'
Maven Jackson YAML Dependency:
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.13.4</version>
</dependency>

Example: Parser YAML File using Java Jackson Library

YAML File:
name: Alex
age: 21
course: Computers
subjects:
  - Java
  - Python
  - GoLang
  - RUST
  - React
Student.java POJO Class
import java.util.Arrays;

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;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", course='" + course + '\'' +
                ", subjects=" + Arrays.toString(subjects) +
                '}';
    }
}
JacksonYamlParser.java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;

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

public class JacksonYamlParser {

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

        //Step 1: The YAML FILE
        File yamlFile = new File("Student.yaml");
        
        //Step 2: ObjectMapper Class
        ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
        
        //Step 3: Converting YAML file to Java Object
        Student student = objectMapper.readValue(yamlFile, Student.class);
        
        //Step 4: Examples of reading from Java Pojo
        System.out.println(student);
        System.out.println(student.getName());
        System.out.println(student.getAge());

    }
}
Output:

Student{name='Alex', age=21, course='Computers', subjects=[Java, Python, GoLang, RUST, React]}
Alex
21



Have Questions? Post them here!
Advertisements
Try Out Code2care Dev Tools:

Advertisements

Advertisements
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.