在Java中,如果我使用以下JSON字符串作为示例,我将如何检查对象是否为空/ 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.
Bri*_*ach 13
这两件事都不是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并根据结果进行操作.
| 归档时间: | 
 | 
| 查看次数: | 32310 次 | 
| 最近记录: |