Skip to main content

将 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 标准,最值得注意的是:数组键必须是字符串或易于转换为字符串的值(例如整数)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

php2json-0.2.tar.gz (3.8 kB 查看哈希)

已上传 source

内置发行版

php2json-0.2-cp36-cp36m-manylinux1_x86_64.whl (35.4 kB 查看哈希

已上传 cp36

php2json-0.2-cp27-cp27mu-manylinux1_x86_64.whl (33.1 kB 查看哈希

已上传 cp27