PHP 中 Serialize 和 JSON 的区别和用法
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前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。