java - 如何检查 JSON 对象在 Java 中是否为空?

标签 java json isnull

在 Java 中,如果我使用以下 JSON 字符串作为示例,我将如何检查对象是否为 empty/null

{"null_object_1" : [], "null_object_2" : [null] }

我试过使用:

if(!jsonSource.isNull("null_object_1"))  {/*null_object_1 is not empty/null*/}
if(!jsonSource.isNull("null_object_2"))  {/*null_object_2 is not empty/null*/}

但是这些 IF 语句仍然返回 true(就好像它们不为空/null)。

有没有人有解决办法?

编辑: 我所说的“对象”实际上是指 array

最佳答案

这两个东西都不是null;他们是数组。结果正是您所期望的。

您的一个数组是空的,另一个包含一个 null 的元素。

如果你想知道一个数组是否为空,你需要获取数组,然后检查它的长度。

JSONObject myJsonObject = 
    new JSONObject("{\"null_object_1\":[],\"null_object_2\":[null]}");

if (myJsonObject.getJSONArray("null_object_1").length() == 0) {
    ... 
}

编辑以澄清:没有元素(空)的数组和包含null 元素的数组是完全不同的东西 .对于第二个数组,它既不是 null 也不是空的。正如我所提到的,它是一个包含单个元素的数组,该元素为 null。如果您有兴趣确定是否是这种情况,则需要获取数组然后遍历它以测试每个元素以查看它是否为 null 并相应地根据结果采取行动。

关于java - 如何检查 JSON 对象在 Java 中是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954708/

相关文章:

php - LEFT JOIN 不显示 NULL 结果

java - spring jdbc集成测试

java - 如何反转 'java.util.stack'变量内容

java - 在 Java 中模拟数组引用(即对引用的引用)的引用传递

android - Web 服务、JSON 和 Android。结果 WS 不能正常工作

python - 动态构建 Python 字典不会返回所需的结果

java 如何让角色跟随寻路

当我使用 java 标签时,JSP 内的 JavaScript 不起作用

mysql - SQL查询、子查询不会返回数据

mysql - SQL 对表中所有列的不同值进行计数并计算空值