Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确定JSON提要中是否存在值的更好方法_Java_Android_Json - Fatal编程技术网

Java 确定JSON提要中是否存在值的更好方法

Java 确定JSON提要中是否存在值的更好方法,java,android,json,Java,Android,Json,我正在Android应用程序中使用org.json.JSONObject(和解析器)来解析json提要。确定返回的某个对象中是否存在属性的最佳方法是什么 假设我有一个包含“新闻”的JSON提要。有些新闻有一个名为“UnpublishDate”的属性(即相关新闻不再处于活动状态的日期),而有些新闻没有此属性 我提出的最好的解决方案(虽然还没有实现)是在theJSONObject.get(“UnpublishDate”)周围简单地设置一个“try-catch”——您知道有更好的解决方案吗(当类扩展到

我正在Android应用程序中使用
org.json.JSONObject
(和解析器)来解析json提要。确定返回的某个对象中是否存在属性的最佳方法是什么

假设我有一个包含“新闻”的JSON提要。有些新闻有一个名为“UnpublishDate”的属性(即相关新闻不再处于活动状态的日期),而有些新闻没有此属性


我提出的最好的解决方案(虽然还没有实现)是在
theJSONObject.get(“UnpublishDate”)
周围简单地设置一个“try-catch”——您知道有更好的解决方案吗(当类扩展到JSON提要中的几个“可选”属性时,这会更优雅)?

您可以使用
JSONObject
函数
has

if(myJSONObject.has("UnpublishDate")) {
    //it has it, do appropriate processing
}

检查该对象是否包含键,但如何查找该对象包含的值?@ShylendraMadda如果它有键,则它有值。由您决定值是否可接受我如何检查它是否包含值???@ShylendraMadda您如何定义“包含值”?不是空的吗?我之前的评论应该会给你答案……但在我的例子中,我有钥匙,但没有价值,那么如何找到它呢?它不包含该键的值?