Here is code to convert YAML document to JSON 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 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
...
Code to convert YAML to JSON data
package com.fiot.examples.yaml; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; public class ConvertYAMLToJSON { public static void main(String[] args) { String content = ""; try { content = new String(Files.readAllBytes(Paths.get( "F:\\Workspace-Blog\\TestExamples\\src\\main\\resources\\YAMLDocument.yaml"))); System.out.println("*********Content from YAML File ****************"); System.out.println(content); String json = convertYamlToJson(content); System.out.println("*********Cnverted JSON from YAML File ****************"); System.out.println(json); } catch (IOException e) { e.printStackTrace(); } } private static String convertYamlToJson(String yaml) { try { ObjectMapper yamlReader = new ObjectMapper(new YAMLFactory()); Object obj = yamlReader.readValue(yaml, Object.class); ObjectMapper jsonWriter = new ObjectMapper(); return jsonWriter.writerWithDefaultPrettyPrinter().writeValueAsString(obj); } catch (JsonProcessingException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } return null; } }
Output
*********Content from YAML 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
...
*********Cnverted JSON from YAML File ****************
{
"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\nB.Sc\nDiploma\n"
}
Below are some online tools to convert YAML/YML to JSON.
https://codebeautify.org/yaml-to-json-xml-csv
http://convertjson.com/yaml-to-json.htm
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.
You must log in to post a comment.