JSON with extensions to support serialization for common types
Project description
Expanded JSON serialization
Summary
cf-json provides a batteries included approach to extending the standard json module.
It achieves this by making use of a custom json.JSONEncoder subclass cfjson.MyEncoder to expand the range of types that can be serialized. While keeping sticking to the json interface.
Installation
Install the package from PyPI:
$ python -m pip install cf-json
[...]
Successfully installed cf-json
Quick Start
cf-json is a drop in replacement for the standard json module.
>>> from cfjson import dumps, loads
>>> data = {1: 'a', 2: Path('./my_file.py'), 3: datetime.datetime.utcnow()}
>>> data
{1: 'a', 2: WindowsPath('my_file.py'), 3: datetime.datetime(2021, 4, 7, 2, 45, 57, 696066)}
>>> json_blob = dumps(data)
>>> json_blob
'{"1": "a", "2": {"__json_type__": "WindowsPath", "path": "my_file.py"}, "3": {"__json_type__": "datetime", "datetime": "2021-04-07T02:45:57.696066"}}'
>>> loads(json_blob)
{'1': 'a', '2': WindowsPath('my_file.py'), '3': datetime.datetime(2021, 4, 7, 2, 45, 57, 696066)}
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cf-json-0.1.0.dev1.tar.gz
(9.2 MB
view hashes)
Built Distribution
Close
Hashes for cf_json-0.1.0.dev1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edcd00dded8b6c8a20a201cfa496dba82fca8391973b99cf7010e044767de0f1 |
|
MD5 | 486f63a63242faf9d7a6258f979fa1c7 |
|
BLAKE2b-256 | da1ff21e8131e9ffccec405e4cae327359a8cef581c67559983b14ac3dd4cf46 |