Code前端首页关于Code前端联系我们

PHP 中 Serialize 和 JSON 的区别和用法

terry 2年前 (2023-09-25) 阅读数 63 #后端开发

Serialize 和 JSON 的区别

1.用Serialize编码后,大小约为JSON编码的1.5倍。这是因为 Serialize 之后的字符串包含了子字符串的长度。并且还有更详细的类型差异,而 JSON 只有四种类型,并且用简单的符号表示。这也导致Serialize比JSON更快,一般快20-30%。

2。 JSON基于Unicode格式,因此必须在UTF-8环境下操作。如果不想将中文转换为Unicode,则需要使用额外的参数:json_encode($array, JSON_UNESCAPED_UNICODE)

3。 JSON无法存储对象的原始类。解码时只能解码为stdClass的实例。此外,__sleep()__wakeup() 魔术方法不能在 JSON 中使用。

4。默认情况下,对象的公共属性可以采用 JSON 编码。当然,在 PHP 5.4 之后,可以通过在类中实现 JsonSerialized 接口来改变这种行为。

5。当然,JSON 的用途更加广泛。它是跨平台的通用格式。在接口方面,现在基本都使用JSON。

使用Serialize和JSON

一般内部存储建议使用Serialize。如果要输出与第三方交互的接口,通常使用JSON。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门