package com.datascience.serialization.json;
import com.datascience.serialization.ISerializer;
import com.google.gson.JsonElement;
import com.google.gson.stream.JsonReader;
import java.io.StringReader;
import java.lang.reflect.Type;
/**
*
* @author konrad
*/
public class GSONSerializer implements ISerializer {
protected JSONUtils ju;
public GSONSerializer(){
ju = new JSONUtils();
}
@Override
public String serialize(Object object) {
return ju.gson.toJson(object);
}
@Override
public String getMediaType() {
return "application/json";
}
@Override
public <T> T parse(String input, Type type) {
JsonReader jr = new JsonReader(new StringReader(input));
jr.setLenient(true);
return ju.gson.fromJson(jr, type);
}
@Override
public JsonElement getRaw(Object object){
return ju.gson.toJsonTree(object);
}
@Override
public String toString(){
return "GSON";
}
}