Search in sources :

Example 1 with JsonPrimitive

use of org.apache.hbase.thirdparty.com.google.gson.JsonPrimitive in project hbase by apache.

the class ProtobufMessageConverter method toJavaObject.

private static Object toJavaObject(JsonElement element) {
    if (element.isJsonNull()) {
        return null;
    } else if (element.isJsonPrimitive()) {
        JsonPrimitive primitive = element.getAsJsonPrimitive();
        if (primitive.isBoolean()) {
            return primitive.getAsBoolean();
        } else if (primitive.isNumber()) {
            return primitive.getAsNumber();
        } else if (primitive.isString()) {
            return primitive.getAsString();
        } else {
            return null;
        }
    } else if (element.isJsonArray()) {
        JsonArray array = element.getAsJsonArray();
        List<Object> list = new ArrayList<>();
        for (JsonElement arrayElement : array) {
            Object javaObject = toJavaObject(arrayElement);
            list.add(javaObject);
        }
        return list;
    } else if (element.isJsonObject()) {
        JsonObject object = element.getAsJsonObject();
        Map<String, Object> map = new LinkedHashMap<>();
        for (Entry<String, JsonElement> entry : object.entrySet()) {
            Object javaObject = toJavaObject(entry.getValue());
            map.put(entry.getKey(), javaObject);
        }
        return map;
    } else {
        return null;
    }
}
Also used : JsonArray(org.apache.hbase.thirdparty.com.google.gson.JsonArray) Entry(java.util.Map.Entry) JsonPrimitive(org.apache.hbase.thirdparty.com.google.gson.JsonPrimitive) JsonElement(org.apache.hbase.thirdparty.com.google.gson.JsonElement) ArrayList(java.util.ArrayList) JsonObject(org.apache.hbase.thirdparty.com.google.gson.JsonObject) JsonObject(org.apache.hbase.thirdparty.com.google.gson.JsonObject) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Aggregations

ArrayList (java.util.ArrayList)1 LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1 Entry (java.util.Map.Entry)1 JsonArray (org.apache.hbase.thirdparty.com.google.gson.JsonArray)1 JsonElement (org.apache.hbase.thirdparty.com.google.gson.JsonElement)1 JsonObject (org.apache.hbase.thirdparty.com.google.gson.JsonObject)1 JsonPrimitive (org.apache.hbase.thirdparty.com.google.gson.JsonPrimitive)1