Android 获取属性值并检查是否存在和null
我正在为一个json对象编写一个自定义反序列化程序,我在json中有一个属性可能不存在,如果它存在,它的值可能为nullAndroid 获取属性值并检查是否存在和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
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");