json-ext-encoder
Extended JSON encoder for Python data structures.
A subclass of JSONEncoder, it handles these additional types:
-
datetime.datetime
— a string of the formYYYY-MM-DDTHH:mm:ss.sssZ
orYYYY-MM-DDTHH:mm:ss.sss+HH:MM
as defined in ECMA-262. -
datetime.date
— a string of the formYYYY-MM-DD
as defined in ECMA-262. -
datetime.time
— a string of the formHH:MM:ss.sss
as defined in ECMA-262. -
datetime.timedelta
- a string representing a duration as defined in ISO-8601. For example,timedelta(days=1, hours=2, seconds=3.4)
is represented asP1DT02H00M03.400000S
. -
decimal.Decimal
,uuid.UUID
— a string representation of the object. -
enum.Enum
— a.value
property of enum member.
Installation
$ pip install json-ext-encoder
Usage
import json
from json_ext_encoder import JSONEncoder
json.dumps({...}, cls=JSONEncoder)
Testing and linting
For testing and linting install tox:
$ pip install tox
...and run:
$ tox
License
json-ext-encoder
is licensed under the MIT license. See the license file for details.