
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!
More Posts related to Java,
- Drop table using Java JDBC Template
- Java - Check if array contains the value
- YAML Parser using Java Jackson Library Example
- Java Jackson ObjectMapper Class with Examples
- Get Client IP address from HTTP Response in Java
- How to Word-Warp Console logs in IntelliJ
- Exception in thread main java.lang.NoClassDefFoundError: package javaClass
- Setting Java_Home Environment variable on Windows Operating System
- Fix: Maven - Failed to execute goal - Compilation failure - Source/Target option 5 is no longer supported. Use 7 or later
- Java SE JDBC Select Statement Example
- How to extract Java Jar/War/Ear files in Linux
- java: unclosed string literal [Error]
- [Solution] Exception in thread main java.util.EmptyStackException
- Read YAML file Java Jackson Library
- What Java version is used for Minecraft 1.18
- [Java] How to throws Exception using Functional Interface and Lambda code
- [Program] How to read three different values using Scanner in Java
- Java 8 Predicate Functional Interface Examples
- Display Era details (AD BC) in Java Date using SimpleDateFormat
- Convert String Date to Date Object in Java
- Struts 2 Hello World Example in Eclipse
- Read a file using Java 8 Stream
- Java - How to set custom thread name?
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- java: ']' expected error [fixed]
More Posts:
- How to activate and create SharePoint Spaces feature for mixed reality experience - 2D/3D images and web parts - SharePoint
- How to know the Docker Sandbox ID of a Container Network? - Docker
- How to open a file via Mac Terminal - MacOS
- Find installed Gradle version command - Gradle
- How to install zsh shell on Ubuntu - Ubuntu
- Move from Zsh to Bash shell macOS - MacOS
- How to change Android EditText Cursor Color - Android
- How to save macOS Terminal outputs as text file - MacOS