编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 名词解释 / 序列化

序列化

序列化(serialize)是把内存中的数据结构或对象,转换成可以存储或传输的格式(通常是字节流或字符串)的过程;把这些数据还原成对象则叫反序列化(deserialize)。程序运行时的对象只存在于内存里,无法直接写入文件或通过网络发送,序列化就是给它们找一种"可落地、可传输"的中间表示。

常见的序列化格式大致分两类:

此外 PHP 还有自带的 serialize() 格式。典型用途包括接口传参、缓存、消息队列和持久化存储。使用时要避开几个误区:序列化不是加密,JSON 里的内容任何人都能读,别拿它保护敏感数据;并非所有值都能序列化,JSON 无法表达函数和循环引用,undefined 也会被丢弃;不同语言与格式对日期、大整数、浮点精度的处理并不一致,跨系统传输前最好先约定好规则。

常见问题

序列化和反序列化有什么区别?
序列化是把内存中的对象转成可存储、可传输的字符串或字节流;反序列化是相反过程,把这些数据重新还原成程序能直接使用的对象。
序列化能保证数据安全吗?
不能。序列化只负责格式转换,本身不做加密,像 JSON 这类文本格式内容都是明文可读的。需要安全性得另外配合加密或签名。
为什么对象转成 JSON 后有些字段不见了?
因为 JSON 无法表达函数、undefined、循环引用等,这些值会被忽略或直接报错。此外日期、大整数也可能被转成字符串或丢失精度,需要手动约定处理方式。

相关工具

相关名词