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)

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 hashes)

Uploaded source

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