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 Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page