Thu*_*inh 3 java parsing android json gson
当我有一个JsonObject,为了从中检索一个指定的元素成员,会有几个方法,例如,get()和其他getAsXXX():
JsonPrimitive childNode1 = parent.getAsJsonPrimitive("key1);
JsonArray childNode2 = parent.getAsJsonArray("key2);
JsonElement childNode3 = parent.get("key3);
Run Code Online (Sandbox Code Playgroud)
我的问题是,isJsonNull()检查元素是否存在的方法是什么?我对Json的文档感到有些困惑.
小智 6
您可以使用JsonObject.has()来确定元素是否存在,http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html
根据文档JsonNull是一个JsonElement但不是一个JsonObject(它本身就是一个JsonElement).运用
JsonElement element = source.get(propertyName);
if (!(element instanceof JsonNull)) {
JsonObject propertyToBeCopied = (JsonObject) element;
}
Run Code Online (Sandbox Code Playgroud)
如果它不属于类型JsonElement,则会返回一个被转换JsonObject的内容JsonNull.
甲null引用不是一个JsonNull值.(value == null)是不一样的value.isJsonNull().他们是非常不同的.
文档描述了对JsonObject.get(String)返回的调用"null if no such member exists."他们没有说JsonNull返回.
调用JsonElement.isJsonNull()不会检查JsonElement引用是否为null引用.事实上,如果它是一个null引用,在它上面调用一个方法会抛出一个NullPointerException.它正在检查它是否是一个JsonNull实例.
| 归档时间: |
|
| 查看次数: |
7424 次 |
| 最近记录: |