Android 获取属性值并检查是否存在和null

Android 获取属性值并检查是否存在和null,android,json,gson,Android,Json,Gson,我正在为一个json对象编写一个自定义反序列化程序,我在json中有一个属性可能不存在,如果它存在,它的值可能为null JsonObject obj = ....; String value = ""; // first check if exists if (obj.has("someProperty")) { // get the proprty JsonElement element = obj.get("someProperty"); // better che

我正在为一个json对象编写一个自定义反序列化程序,我在json中有一个属性可能不存在,如果它存在,它的值可能为null

JsonObject obj = ....;
String value = "";
// first check if exists
if (obj.has("someProperty")) {
    // get the proprty
    JsonElement element = obj.get("someProperty");
    // better check if its null
    if (!element.isJsonNull()) {
       // ah yes finally have the value
       value = element.getAsString();
    }
}

是的,效果很好,但非常冗长。梳理GSON api以找到一种更好的方法,但没有运气。有更简单的方法吗?

也许这个方法会好一点:

JsonElement element = obj.get("someProperty");
if (element != null && !element.isJsonNull()) {
    value = element.getAsString();
}

您应该使用org.json.JSONObject;然后执行以下操作

JSONObject obj1 = new JSONObject();
        String value = "";
        // will set value to your element if it exists otherwise will return empty string
        value = obj1.optString("someProperty");