当前位置: 首页 > 面试题库 >

用PHP在JSON中创建空对象的最佳方法?

东郭弘
2023-03-14
问题内容

要创建一个空的JSON对象,我通常使用:

json_encode((object) null);

将null强制转换为对象有效,但是此解决方案是否还有其他更好的方法和/或任何问题?


问题答案:

您的解决方案可以工作。

该文档指定(object) null将导致一个空的对象,因此可能有人说您的代码有效,这是使用的方法。

PHP:对象-手册

如果将任何其他类型的值转换为对象,则将创建stdClass内置类的新实例。如果值为NULL,则新实例将为空。

..但是,请尝试确保其安全!

尽管您永远都不知道上面的内容何时/是否会更改,因此,如果您想100%地确定自己总是会以{}编码数据结尾,则可以使用以下方法:

json_encode (json_decode ("{}"));

即使这很繁琐又丑陋,我还是假设/希望json_encode / json_decode与彼此兼容,并且总是将以下内容评估为真:

$a = <something>;

$a === json_decode (json_encode ($a));

推荐方法

json_decode ("{}")将返回stdClass默认值,因此应将以下内容视为安全方法。但是,正如所提到的,它几乎和做相同(object) null

json_encode (new stdClass);


 类似资料:
  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我一直在阅读有关使用PHP创建PDF文件的信息,并且想知道最简单的选择是什么。 创建PDF模板,将其打开并替换占位符文本-我应使用哪个功能打开现有PDF进行编辑

  • 问题内容: 如何使用PHP实现或创建这种JSON对象? 经过几次尝试,我没有找到解决方案。例如,我尝试了这个: 问题答案:

  • 问题内容: 我不太使用php,并且在对象创建方面有些模糊。我需要发出一个发送json的网络服务请求,我想我已经覆盖了那部分。在提交数据之前,我需要创建一个嵌套对象。根据我对基于ecma的脚本语言的经验,我认为这是微不足道的,但是我发现该语法难以导航。我要创建的对象如下。 我已经看到了许多平面对象的示例,但是还没有找到嵌套对象的最小示例。上面对象的php语法是什么?这是在PHP中做的不寻常的事情吗?

  • 问题内容: 仅在将我的PHP环境升级到PHP 5.4及更高版本后,我才看到此错误。错误指向以下代码行: 错误: 从空值创建默认对象 码: 我首先需要声明我的对象吗? 问题答案: 您的新环境可能已为<= 5.3.x的PHP版本启用了警告,或者仅在至少=> 5.4的PHP版本中设置了警告。当触发了错误的或者尚未初始化: 如果已经初始化为某个值但不是对象,则PHP将报告不同的错误消息: 为了符合PHP

  • 问题内容: 我正在使用restTemplate向servlet发出请求,该servlet返回json中对象的非常简单的表示形式。 我有一个包含这两个字段的DTO以及相应的设置器和获取器。我想知道的是如何使用json响应创建对象,而不必“解析”响应。 问题答案: 我个人会推荐杰克逊。它相当轻巧,速度非常快,只需要很少的配置。这是反序列化的示例:

  • 本文向大家介绍PHP 中如何创建嵌套 JSON 对象,包括了PHP 中如何创建嵌套 JSON 对象的使用技巧和注意事项,需要的朋友参考一下 JSON结构可以使用以下代码创建-