
me.shib.java.lib.common.utils.JsonLib Maven / Gradle / Ivy
package me.shib.java.lib.common.utils;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class JsonLib {
private static JsonLib defaultJsonLib;
private Gson gson;
private Gson prettyGson;
private Gson upperCamelCaseGson;
public JsonLib() {
gson = new Gson();
}
public static JsonLib getDefaultInstance() {
if(defaultJsonLib == null) {
defaultJsonLib = new JsonLib();
}
return defaultJsonLib;
}
private Gson getPrettyGson() {
if(null == prettyGson) {
prettyGson = new GsonBuilder().setPrettyPrinting().create();
}
return prettyGson;
}
private Gson getUpperCamelCaseGson() {
if(null == upperCamelCaseGson) {
upperCamelCaseGson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();
}
return upperCamelCaseGson;
}
public T fromJson(String json, Class classOfT) {
return gson.fromJson(json, classOfT);
}
public T fromUpperCamelCaseJson(String json, Class classOfT) {
return getUpperCamelCaseGson().fromJson(json, classOfT);
}
public String toJson(Object object) {
return gson.toJson(object);
}
public String toPrettyJson(Object object) {
return getPrettyGson().toJson(object);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy