广告位
PHPSESSION 转换
PHP SESSION 序列化字符串与 JSON 双向互转工具,支持 s/i/b/d/a/N/O 类型与错误位置定位
SESSION 序列化转换器
PHP SESSION 格式(key|value;key|value;)与 JSON 双向转换
支持类型:s 字符串、i 整数、b 布尔、d 浮点、a 数组、N null、O 对象
支持的数据类型
s 字符串
i 整数
d 浮点
b 布尔
a 数组
N null
O 对象
PHP SESSION 格式:每个键值对以
key|serialized_value 形式存储,连续拼接。键为字符串,值采用 PHP serialize 序列化格式。
广告位
使用说明
- 选择转换方向:SESSION 转 JSON(默认)或 JSON 转 SESSION
- 在左侧输入框填入 PHP SESSION 序列化字符串或 JSON 数据
- SESSION 格式示例:
name|s:5:"alice";age|i:30; - 点击"转换"按钮,右侧自动显示转换结果
- "交换方向"按钮可一键切换两个文本框的方向与内容
- 解析失败时会在右下方显示具体错误位置与原因
- 支持嵌套数组与对象,复杂结构可正常解析
适用场景
- 调试 PHP session 文件内容,将序列化字符串转为可读 JSON
- 分析 session 共享存储(Redis / Memcache)中的数据
- 构造测试用例,验证后端 SESSION 解析逻辑
- PHP 与其他语言(Node/Python/Java)之间迁移 session 数据
- 排查 session 反序列化失败的语法错误位置
安全保障
- 本地解析:所有转换在浏览器本地完成
- 只读转换:不修改、不上传任何输入数据
- 自实现解析器:不依赖第三方库,避免供应链风险
- 递归深度限制:防止恶意嵌套数据导致栈溢出
常见问题
PHP SESSION 格式与标准 PHP serialize 有什么区别?
PHP SESSION 采用 key|value 形式,键和序列化值之间用 | 分隔,每个键值对紧接上一个的序列化值末尾(值本身以 ; 结尾)。而标准 PHP serialize 输出整体一个序列化字符串(通常是数组 a:N:{...})。两者内部值的编码方式相同,仅外层包裹不同。
转换 JSON 时如何处理 PHP 对象(O 类型)?
PHP 对象在 JSON 中没有直接对应结构,本工具将其转换为带 __class 字段的 JSON 对象,例如 O:3:"Foo":1:{s:1:"x";i:1;} 转换后为 {"__class":"Foo","x":1},保留类名信息便于排查。
解析失败时如何定位错误?
解析器会记录出错时的字符偏移量,并在右下方错误区显示位置(第 N 个字符附近)和具体原因(如"缺少闭合分号"、"字符串长度不匹配"等),方便快速定位修复。
JSON 转 SESSION 时数组键如何处理?
JSON 数组会转为 PHP 数组(a:N:{...}),数组键自动从 0 开始递增(i:0;i:1;...);JSON 对象的字符串键原样保留。混合类型数据可正确处理。
广告位