
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
Have Questions? Post them here!
- Create a Zip file using Java Code programmatically
- Eclipse : A java Runtime Environment (JRE) or Java Development kit (JDK) must be available
- How to Sort a LinkedList in Java
- Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver
- How to declare and initialize Array in Java Programming
- [Fix] java: integer number too large compilation error
- Java JDBC Connection with MySQL Driver in VS Code + Troubleshooting
- Reading .xls and .xlsx Excel file using Apache POI Java Library
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- How to get Client IP address using Java Code Example
- Truncate table using Java JDBC Example
- Struts 2 : There is no Action mapped for namespace [/] and action name [form] associated with context path [/proj]
- How to get file path in Idea IntelliJ IDE
- Java Generics explained with simple definition and examples
- Java SE 8 Update 301 available with various bug fixes and security improvements
- Java: Collect Stream as ArrayList or LinkedList
- Java JDBC Connection with PostgreSQL Driver Example
- How to check if Java main thread is alive
- How to fix Java nio NoSuchFileException wile reading a file
- Java 8+ get Day of the Week Examples with LocalDateTime, DateTime, ZonalDateTime and Instant classes
- Ways to Convert Integer or int to Long in Java
- [Java] How to throws Exception using Functional Interface and Lambda code
- [Fix] Spring Boot: mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
- Java: The value of the local variable string is not used
- Java JDBC: Insert Java 8 LocalDate and Time using PreparedStatement
- Limit scrollback rows in macOS Terminal - MacOS
- Display Safari URL address link on hover - MacOS
- How to upgrade pip/pip3 package installer for Python - PIP
- Convert LocalDateTime to java.util.Calendar Object in Java - Java
- How to Close Safari in Mac using Keyboard shortcut - MacOS
- This operation couldnt be completed. Unable to locate a Java Runtime. [macOS] - MacOS
- [fix] Editor could not be opened unexpected error: File is a directory (VS Code) - HowTos
- AADSTS90033: A transient error has occurred. Please try again. [Microsoft 365] - Microsoft