Skip to main content
Build status

Make any type JSON-serializable.

A Python module which makes json.dumps work with several builtin and stdlib types. A hook for registering any custom type is also provided.

Installing

Simply install alljson with pip or add it to your project dependencies:

pip install alljson

Supported types

After installing, the following types are JSON-serializable:

  • generators

  • set and frozenset

  • dict item/key/value iterators and views

  • datetime.date and datetime.datetime (as strings in ISO format)

  • uuid.UUID

  • decimal.Decimal (serialized as string in order to preserve precision)

  • reversed results

In addition to these, the following Python 3 types are supported:

  • map, filter, range iterators

  • enum.Enum

  • pathlib.Path

  • types.MappingProxyType

  • classes implementing Sequence and Mapping abc interfaces

Registering custom types

In order to register a new type, use alljson.register_encoder(type, encoder_function). encoder_function should take object of given type as the only parameter and return a simple JSON-serializable Python value (such as dict or str).

For example:

import arrow
import alljson

alljson.register_encoder(arrow.Arrow, arrow.Arrow.isoformat)

Acknowledgements

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alljson-0.2.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alljson-0.2-py2.py3-none-any.whl (4.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file alljson-0.2.tar.gz.

File metadata

  • Download URL: alljson-0.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for alljson-0.2.tar.gz
Algorithm Hash digest
SHA256 322b0082fab940ebabd4e12c7e306b69efb5a9bd14dafeff7f003cfe74e1ff41
MD5 02b238156e7fffa6527210bbc9d916be
BLAKE2b-256 6f6966224725e118de3d69e402dc813f39e74b4aa81c227cdfad948a3f800206

See more details on using hashes here.

File details

Details for the file alljson-0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for alljson-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 11ae81e7d8a61ba574b4e335553f88126df52c405244f000df8e4ebfcc148c18
MD5 fb6b792f1430da85574d6161b82ad6f4
BLAKE2b-256 60b5b49809b7e0e357d28f47393427808ff364b42e119d0d53510943b5b19850

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2 This release

2 files

0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page