Skip to main content

Not So Simple JSON encoder/decoder

Project description

nssjson is a (not so) simple, fast, complete, correct and extensible JSON encoder and decoder for Python 2.5+ and Python 3.3+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost.

nssjson is a fork of simplejson that fulfills my need of having a good performance JSON encoder/decoder able to handle also Python’s datetime and UUID, even if with an admittedly non-standard and faulty heuristic that was not considered within the scope of the original product.

Practically, the difference is that, out of the box, you have:

>>> import datetime, uuid
>>> import nssjson
>>> now = datetime.datetime.now()
>>> uid = uuid.uuid1()
>>> nssjson.loads(
...     nssjson.dumps([uid, now], iso_datetime=True, handle_uuid=True),
...     iso_datetime=True, handle_uuid=True) == [uid, now]
True

Changes

0.7 (2015-08-07)

  • Optionally serialize/deserialize UUIDs

0.6 (2015-05-31)

  • Avoid broken JSON output for int/long/float subclasses reimplementing the __str__() and/or __repr__() methods

0.5 (2014-12-21)

  • Fix memory leak when an error occurs encoding dict items

  • Overhaul of load() and dump() signatures

  • Drop Sphinx documentation

0.4 (2014-06-28)

  • Complete the fix against negative index parameter to raw_decode()

  • Fix C encoder initialization

  • Catch invalid item_sort_key argument to C encoder

0.3 (2014-04-16)

0.2 (2014-03-22)

  • Remove dead code noticed by Anatoly Techtonik

  • Use an interned instance of the UTC timezone instead of passing it as an argument to function/constructors

0.1 (2014-03-19)

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

nssjson-0.7.tar.gz (62.2 kB view details)

Uploaded Source

File details

Details for the file nssjson-0.7.tar.gz.

File metadata

  • Download URL: nssjson-0.7.tar.gz
  • Upload date:
  • Size: 62.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nssjson-0.7.tar.gz
Algorithm Hash digest
SHA256 4970f7742596df652f287c01c96ed397b4ce17a2e38d4947f6423d2c61dbdb01
MD5 996aff07203b52fcf19fa21397c7d3b1
BLAKE2b-256 99e91f4b50de2dcd4a72ec1e31dc03c781aca33abe71c221e975dde1e1e65e4e

See more details on using hashes here.

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