Skip to main content

Extended JSON encoder for Python data structures

Project description

json-ext-encoder Build Status codecov

Extended JSON encoder for Python data structures.

A subclass of JSONEncoder, it handles these additional types:

  • datetime.datetime — a string of the form YYYY-MM-DDTHH:mm:ss.sssZ or YYYY-MM-DDTHH:mm:ss.sss+HH:MM as defined in ECMA-262.
  • datetime.date — a string of the form YYYY-MM-DD as defined in ECMA-262.
  • datetime.time — a string of the form HH: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 as P1DT02H00M03.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.

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

json-ext-encoder-0.1.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

json_ext_encoder-0.1.0-py2.py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page