Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mbachry/php2json
Convert PHP serializer strings to JSON
https://github.com/mbachry/php2json
performance php python serialization
Last synced: 20 days ago
JSON representation
Convert PHP serializer strings to JSON
- Host: GitHub
- URL: https://github.com/mbachry/php2json
- Owner: mbachry
- License: mit
- Created: 2017-04-19T21:17:48.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-05T21:10:00.000Z (over 2 years ago)
- Last Synced: 2024-04-23T23:46:54.272Z (9 months ago)
- Topics: performance, php, python, serialization
- Language: C
- Size: 9.77 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
php2json
========.. image:: https://travis-ci.org/mbachry/php2json.svg?branch=master
:alt: Build status
:target: https://travis-ci.org/mbachry/php2jsonA small library that aims to provide a fast way of decoding PHP
serialization format. Use it if you need to migrate large amount of
PHP data and performance is essential.The library provides only one function::
>>> import php2json
>>> php2json.php2json(b's:3:"foo";')
b'"foo"'It's goal is to convert PHP serializer string into JSON string as fast
as possible. The assumption is that JSON decoders (such as standard
json module or `ujson`_) are much better optimized than
`phpserialize`_... _ujson: https://pypi.python.org/pypi/ujson
.. _phpserialize: https://pypi.python.org/pypi/phpserialize/Here's a simple benchmark where I pit phpserialize against php2json
combined with ujson and json::phpserialize: 6.60s
php2json+ujson: 0.15s
php2json+json: 0.19s
speedup (ujson): 4337%
speedup (json): 3485%Installation
------------Install with::
pip install php2json
Tests
-----Run test with::
pip install tox
make clean
tox .Benchmark
---------Run benchmark with::
pip install -r requirements-test.txt
make benchLimitations
-----------Few limitations apply:
* only deserialization is possible
* PHP objects are not supported
* behaviour is undefined in presence of unicode strings
* input data must adhere to JSON standards, most notably: array keys
must be strings or values easily convertible to strings (such as
integers)