我正在为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();
}
}
Yup工作得很好,但非常冗长。梳理GSON api找到更好的方法,没有运气。有更简单的方法吗?
答案 0 :(得分:0)
也许这会更好一点:
JsonElement element = obj.get("someProperty");
if (element != null && !element.isJsonNull()) {
value = element.getAsString();
}
答案 1 :(得分:0)
你应该使用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");