Skip to main content

Allows for encoding and decoding of datetime values contained in JSON streams

Project description



jsondatetime allows for proper decoding of datetime values contained in JSON streams.

The problem

The JSON standard RFC 4627 does not support datetime types. These are usually represented as strings and Python decoders end up decoding them as such. Consider the following example:

import simplejson as json

>>> test = '{"name": "John Doe", "born": "Thu, 1 Mar 2012 10:00:49 UTC"}'
>>> json.loads(test)
{'born': u'Thu, 1 Mar 2012 10:00:49 UTC', 'name': u'John Doe'}

As you can see, in the resulting dictionary born is still a string.

The solution

jsondatetime is a very simple wrapper around Python simplejson loads and dumps methods. It decodes datetime values contained in JSON strings:

import jsondatetime as json

>>> test = '{"name": "John Doe", "born": "Thu, 1 Mar 2012 10:00:49 UTC"}'
>>> j = json.loads(test); j
{'name': 'John Doe', 'born': datetime.datetime(2012, 3, 1, 10, 0 ,49, tzinfo=tzutc())}
>>> dumps(j)
"{'name': 'John Doe', 'born': '2012-03-01T10:00:49+00:00'}"

Strings are parsed using dateutil.parser.parse which is fairly flexible for common datetime formats.

Custom parsing

Being just a wrapper around the loads method, you can still use all the standard loads arguments, object_hook included. This means that you can still perform custom parsing of your inbound JSON stream.


pip install jsondatetime

Project details

Download files

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

Files for jsondatetime, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size jsondatetime-0.1.1.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page