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
Close
Hashes for json_deserializer-0.0.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11cb3dfa15bce460a12c7f242c407e9514100379db10acfb36e814a4ec134d0c |
|
MD5 | 6f6319640c916e244f9ff3327637f577 |
|
BLAKE2b-256 | fafc1bc83dbfc5ef398935cdb58bc0545b06af5078f16a3cec2ba7f1949672a8 |