我正在使用PHP读取JSON数据,并且该数据包含空对象(如{}
)。所以问题是,我必须以不同的方式处理对象为空但无法找到足够好的方法进行检查的情况。empty(get_object_vars(object))
看起来太吓人了,效率很低。有没有好的检查方法?
您要反序列化多少个对象?除非empty(get_object_vars($object))
事实证明或强制转换是主要的放慢速度/瓶颈,否则我不会担心–
Greg的解决方案就可以了。
不过,我建议$associative
在解码JSON数据时使用标志:
json_decode($data, true)
这会将JSON对象解码为普通的旧PHP数组,而不是作为stdClass
对象。然后,您可以使用empty()
并创建用户定义类的对象来代替使用来检查空对象stdClass
,从长远来看,这可能是个好主意。
问题内容: 我有一个需要循环通过的嵌套JSON对象,每个键的值可以是String,JSON数组或另一个JSON对象。根据对象的类型,我需要执行不同的操作。有什么方法可以检查对象的类型以查看它是String,JSON对象还是JSON数组? 我尝试使用和,但似乎都没有用,因为这将为JSON对象和数组都返回一个对象,并且在我这样做时给出错误。 更具体地说,在将JSON解析为JS对象之后,有什么方法可以检
问题内容: 我的服务器端代码返回一个值,该值成功时为json对象,失败时为字符串’false’。现在如何检查返回的值是否为json对象? 问题答案: 如果字符串是JSON,则jQuery.parseJSON()应该返回类型为“对象”的对象,因此您只需使用以下命令检查类型
我有一个需要循环的嵌套JSON对象,每个键的值可以是字符串、JSON数组或其他JSON对象。根据对象的类型,我需要执行不同的操作。是否有任何方法可以检查对象的类型,以查看它是字符串、JSON对象还是JSON数组? 我尝试使用和,但两者似乎都不起作用,因为将为JSON对象和数组返回一个对象,并且当我执行时,会给出一个错误。 更具体地说,在将JSON解析为JS对象后,是否有任何方法可以检查它是普通字符
问题内容: 我有下一个JSON: 知道JSON对象中是否存在“ dog”值的最佳方法是什么? 谢谢。 解决方案1 解决方案2(JQuery) 解决方案3(使用some()方法) 问题答案: JSON变量引用具有一个称为“名称”的属性的对象数组。我不知道最好的方法,但这就是我的工作吗?
上面是我正在处理的JSON对象。我想检查键是否存在。我尝试了下面的代码,但它不起作用。有办法实现吗?
问题内容: 我试图得到: 在我自己的脚本中,我以前只是使用它,因为我从来不需要作为属性: 因此,对于第二个对象,我想出了以下方法作为一种快速解决方案-大部分都能奏效。;) 问题是,这取决于浏览器是否强制执行只读属性,而并非所有人都这样做。 有没有好的替代品? 问题答案: 这可能很有趣: 它是DOM Level2的一部分。 更新2 :这是我在自己的库中实现它的方式:(以前的代码在Chrome中不起作