一尘不染

如何检查JSON对象在PHP中是否为空?

json

我正在使用PHP读取JSON数据,并且该数据包含空对象(如{})。所以问题是,我必须以不同的方式处理对象为空但无法找到足够好的方法进行检查的情况。empty(get_object_vars(object))看起来太吓人了,效率很低。有没有好的检查方法?


阅读 386

收藏
2020-07-27

共1个答案

一尘不染

您要反序列化多少个对象?除非empty(get_object_vars($object))事实证明或强制转换是主要的放慢速度/瓶颈,否则我不会担心–
Greg的解决方案就可以了。

不过,我建议$associative在解码JSON数据时使用标志:

json_decode($data, true)

这会将JSON对象解码为普通的旧PHP数组,而不是作为stdClass对象。然后,您可以使用empty()并创建用户定义类的对象来代替使用来检查空对象stdClass,从长远来看,这可能是个好主意。

2020-07-27