Here is code to convert YAML documents to JSON objects by Jackson and snakeyml apis. Jackson also support YAML support.
Pre-Requisite
<dependencies>
<!-- Jackson JSON Processor -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.1</version>
</dependency>
<!-- For YAML -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.21</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.1.2</version>
</dependency>
</dependencies>
Sample YAML Documents File
---
# My personal record
name: Saurabh Kumar Gupta
Title: Sr. Project Lead
skill: JAVA/J2EE
employed: True
domains:
- Telecom
- Finance
- Banking
- Healthcare
languages:
ELK: Medium
JAVA: Expertize
Scripting: Comfortable
education: |
MCA
B.Sc
Diploma
---
# Gaurav personal record
name: Gaurav Gupta
Title: Project Lead
skill: ELK
employed: True
domains:
- Telecom
- Banking
- Healthcare
languages:
ELK: Medium
JAVA: Expertize
Scripting: Comfortable
Bigdata: Expertize
education: |
MCA
B.Sc
Code to Convert YAML documents to JSON Objects
package com.fiot.examples.yaml; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Iterator; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.SafeConstructor; public class ConvertYAMLObjectsToJSON { public static void main(String[] args) { try (InputStream input = new FileInputStream(new File( "F:\\Workspace-Blog\\TestExamples\\src\\main\\resources\\YAMLDocument2.yaml"))) { Yaml yaml = new Yaml(new SafeConstructor()); Iterator iterator = yaml.loadAll(input).iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } } catch (Throwable e) { System.out.println("ERROR: " + e.getMessage()); } } }
Output
{name=Saurabh Kumar Gupta, Title=Sr. Project Lead, skill=JAVA/J2EE, employed=true, domains=[Telecom, Finance, Banking, Healthcare], languages={ELK=Medium, JAVA=Expertize, Scripting=Comfortable}, education=MCA
B.Sc
Diploma
}
{name=Gaurav Gupta, Title=Project Lead, skill=ELK, employed=true, domains=[Telecom, Banking, Healthcare], languages={ELK=Medium, JAVA=Expertize, Scripting=Comfortable, Bigdata=Expertize}, education=MCA
B.Sc}
More
To know more about YAML Syntax, Configuration with Java and other supporting language, frameworks and tools, Sample configuration files and JSON and YAML conversion follow below YAML Tutorials and YAML related exceptions follow YAML Issues.