Attempts to correctly deserialize objects that json decoder cannot.
Project description
json-deserializer
Attempts to deserialize objects into a format that json.dumps/json.loads can use.
- Anything that is a Sequence, but not a str will be cast to a list.
- All Mappings will be cast to dicts
- Decimal to floats
- Callable to string (will return Object.repr)
- NamedTuple to dict
Usage Example
>>> from json import dumps
>>> from collections import UserDict
>>> from json_deserializer import deserialize
>>>
>>> class MyDict(UserDict):
>>> pass
>>>
>>> d = MyDict({"foo": "bar"})
>>> try:
>>> dumps(d)
>>> except Exception as e:
>>> print(e)
Object of type MyDict is not JSON serializable
>>> dumps(d, default=deserialize)
'{"foo": "bar"}'
You can also import dump, load, dumps, and loads directly from json_deserializer which will call json.loads, json.dumps with default=json_deserializer.deserialize.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file json-deserializer-0.0.7.tar.gz
.
File metadata
- Download URL: json-deserializer-0.0.7.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3180717cdecfc73d7c048447f45e21edd9f64a22f888a567021e1f3ee4fe92f |
|
MD5 | 4de553e339d8579a3e163950de371fb0 |
|
BLAKE2b-256 | f764158f40921c8b2ce2464b7c69ef0e23cc99e89b7d9704add4dbc49d70023e |
File details
Details for the file json_deserializer-0.0.7-py2.py3-none-any.whl
.
File metadata
- Download URL: json_deserializer-0.0.7-py2.py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11cb3dfa15bce460a12c7f242c407e9514100379db10acfb36e814a4ec134d0c |
|
MD5 | 6f6319640c916e244f9ff3327637f577 |
|
BLAKE2b-256 | fafc1bc83dbfc5ef398935cdb58bc0545b06af5078f16a3cec2ba7f1949672a8 |