package at.bakery.kippen.common.json;
import java.io.UnsupportedEncodingException;
import at.bakery.kippen.common.AbstractData;
import com.google.gson.Gson;
public class JSONDataSerializer {
public static byte[] serialize(AbstractData data) {
String json = new Gson().toJson(data);
String result = data.getClass().getCanonicalName() + "\n" + json + "\n";
try {
return result.getBytes("UTF8");
} catch (UnsupportedEncodingException e) {
return result.getBytes();
}
}
@SuppressWarnings("unchecked")
public static AbstractData deserialize(String canonicalClass, String json) throws Exception {
Class cls = Class.forName(canonicalClass);
AbstractData data = new Gson().fromJson(json, cls);
return data;
}
}