package org.neo4j.shell.tools.imp.util;
import org.codehaus.jackson.map.ObjectMapper;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**
* @author mh
* @since 17.01.14
*/
public class Json {
final static ObjectMapper OBJECT_MAPPER = new ObjectMapper();
public static String toJson(Object value) {
try {
return OBJECT_MAPPER.writeValueAsString(value);
} catch (IOException e) {
throw new RuntimeException("Error creating JSON from "+value,e);
}
}
public static void toJson(Object value, Writer writer) {
try {
OBJECT_MAPPER.writeValue(writer,value);
} catch (IOException e) {
throw new RuntimeException("Error creating JSON from "+value,e);
}
}
public static Object fromJson(String value) {
try {
return OBJECT_MAPPER.readValue(value, Object.class);
} catch (IOException e) {
throw new RuntimeException("Error reading JSON from "+value,e);
}
}
public static <T> T fromJson(String value,Class<T> type) {
try {
return OBJECT_MAPPER.readValue(value,type);
} catch (IOException e) {
throw new RuntimeException("Error reading JSON from "+value,e);
}
}
public static <T> T fromJson(Reader reader,Class<T> type) {
try {
return OBJECT_MAPPER.readValue(reader, type);
} catch (IOException e) {
throw new RuntimeException("Error reading JSON from stream ",e);
}
}
}