All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.shib.java.lib.utils.JsonUtil Maven / Gradle / Ivy

There is a newer version: 0.0.2
Show newest version
package me.shib.java.lib.utils;

import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public final class JsonUtil {

    private Gson gson;
    private Gson prettyGson;
    private Gson upperCamelCaseGson;

    public JsonUtil() {
        gson = new GsonBuilder().disableHtmlEscaping().create();
    }

    private Gson getPrettyGson() {
        if (null == prettyGson) {
            prettyGson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting().create();
        }
        return prettyGson;
    }

    private Gson getUpperCamelCaseGson() {
        if (null == upperCamelCaseGson) {
            upperCamelCaseGson = new GsonBuilder().disableHtmlEscaping()
                    .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