Below
statements convert java object to yaml string.
ObjectMapper
mapper = new ObjectMapper(new YAMLFactory());
mapper.writeValueAsString(obj)
package com.sample.model; public class Employee { private int id; private String firstName; private String lastName; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } @Override public String toString() { return "Employee [id=" + id + ", firstName=" + firstName + ", lastName=" + lastName + "]"; } }
YAMLUtil.java
package com.sample.util; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.CollectionType; import com.fasterxml.jackson.databind.type.MapType; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; public class YAMLUtil { private static ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); public static void printYAML(Object obj) throws JsonGenerationException, JsonMappingException, IOException { mapper.writeValue(System.out, obj); } public static String getYAML(Object obj) throws JsonProcessingException { return mapper.writeValueAsString(obj); } public static <T> T getObject(String yaml, Class<T> clazz) throws JsonParseException, JsonMappingException, IOException { return mapper.readValue(yaml, clazz); } public static <T> List<T> getListOfObjects(String yaml, Class<T> clazz) throws JsonParseException, JsonMappingException, IOException { CollectionType listType = mapper.getTypeFactory().constructCollectionType(ArrayList.class, clazz); List<T> ts = mapper.readValue(yaml, listType); return ts; } public static <K, V> Map<K, V> getMapOfObjects(String yaml, Class<K> keyClazz, Class<V> valueClazz) throws JsonParseException, JsonMappingException, IOException { TypeFactory typeFactory = mapper.getTypeFactory(); MapType mapType = typeFactory.constructMapType(HashMap.class, keyClazz, valueClazz); return mapper.readValue(yaml, mapType); } }
Test.java
package com.sample.app; import com.fasterxml.jackson.core.JsonProcessingException; import com.sample.model.Employee; import com.sample.util.YAMLUtil; public class Test { public static void main(String args[]) throws JsonProcessingException { Employee emp = new Employee(); emp.setFirstName("Krishna"); emp.setLastName("Gurram"); emp.setId(1); String yaml = YAMLUtil.getYAML(emp); System.out.println(yaml); } }
Output
--- id: 1 firstName: "Krishna" lastName: "Gurram"
No comments:
Post a Comment