将 PHP 序列化器字符串转换为 JSON
项目描述
一个小型库,旨在提供一种快速解码 PHP 序列化格式的方法。如果您需要迁移大量 PHP 数据并且性能至关重要,请使用它。
该库仅提供一个功能:
>>> import php2json >>> php2json.php2json(b's:3:"foo";') b'"foo"'
它的目标是尽可能快地将 PHP 序列化器字符串转换为 JSON 字符串。假设 JSON 解码器(例如标准 json 模块或ujson)比 phpserialize优化得更好。
这是一个简单的基准测试,我将 phpserialize 与 php2json 结合使用 ujson 和 json:
phpserialize: 6.60s php2json+ujson: 0.15s php2json+json: 0.19s speedup (ujson): 4337% speedup (json): 3485%
安装
安装:
pip install php2json
测试
运行测试:
pip install tox make clean tox .
基准
运行基准测试:
pip install -r requirements-test.txt make bench
限制
一些限制适用:
只有反序列化是可能的
不支持 PHP 对象
存在 unicode 字符串时行为未定义
输入数据必须遵守 JSON 标准,最值得注意的是:数组键必须是字符串或易于转换为字符串的值(例如整数)