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.0.3.dev3.tar.gz
(6.1 kB
view hashes)
Built Distribution
Close
Hashes for cf_json-0.0.3.dev3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20050d06a2293857f2169f80381a9c0269a873977fa569133798fdb89e3891bb |
|
MD5 | ccb745df804bbe52d6c06a32bf49fd4e |
|
BLAKE2b-256 | 0dbb6b91dfe271365c0820493ef7ea4651559ecc5edefca2efe8ad903f2886ac |