package org.ovirt.engine.core.utils; import java.io.IOException; import java.io.StringWriter; import java.util.Map; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonGenerator; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.type.MapType; public class JsonHelper { private JsonHelper() { } public static String objectToJson(Object input, boolean prettyPrint) throws IOException { ObjectMapper mapper = new ObjectMapper(); JsonFactory factory = new JsonFactory(); StringWriter writer = new StringWriter(); JsonGenerator generator = factory.createJsonGenerator(writer); if (prettyPrint) { generator.useDefaultPrettyPrinter(); } mapper.writeValue(generator, input); return writer.toString(); } public static String mapToJson(Map<String, Object> input, boolean prettyPrint) throws IOException { return objectToJson(input, prettyPrint); } public static String mapToJson(Map<String, Object> input) throws IOException { return mapToJson(input, true); } public static Map<String, Object> jsonToMap(String jsonString) throws IOException { ObjectMapper mapper = new ObjectMapper(); MapType type = mapper.getTypeFactory().constructMapType(Map.class, String.class, Object.class); Map<String, Object> data = mapper.readValue(jsonString, type); return data; } }