我想验证一下json[]
列the_array
不是空的。对于正常数组,我可以检查:
the_array != '{}'
但是,对JSON[]不适用,如下所示:
select '{}'::json[] != '{}'
ERROR: could not identify an equality operator for type json
我可以使用下面的检查:
array_length(the_array, 1) != null // yes, array_length on an
empty array returns null
我担心的是array_length()
将遍历整个数组以计数项目数,然后返回该计数。在我的例子中,我不需要数组的实际大小,我只需要知道它是否是空的。
所以,array_length()
遍历整个数组?如果是,是否有更好的方法来检查json数组是否为空?
发布于 2018-08-07 16:38:51
使用getJSONArray()并测试返回对象的长度。
my_array = mydata.getJSONArray("name");
if (my_array != null && my_array.length() > 0)
# Do stuff
https://stackoverflow.com/questions/-100001993
复制相似问题