Skip to main content

Allows for proper decoding of datetime values contained in JSON streams

Project description

https://secure.travis-ci.org/nicolaiarocci/json-datetime.png?branch=master

JSON-datetime 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

JSON-datetime is a very simple wrapper around Python simplejson loads method. 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"}'
>>> json.loads(test)
{'name': 'John Doe', 'born': datetime.datetime(2012, 3, 1, 10, 0 ,49)}

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.

Installation

pip install json-datetime

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

sts-json-datetime-0.0.7.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

sts_json_datetime-0.0.7-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file sts-json-datetime-0.0.7.tar.gz.

File metadata

  • Download URL: sts-json-datetime-0.0.7.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.2

File hashes

Hashes for sts-json-datetime-0.0.7.tar.gz
Algorithm Hash digest
SHA256 0f688ee5d0125b733928799fbe9305cd122adbf0b5d16f636fcc4b281cd26aa3
MD5 bedbc3f72b1b1d41ed2b491d56fbc1a8
BLAKE2b-256 35783efff5935d8f5c17b2bc81a357e9c330641086d3efb8cf9072500c7c31f3

See more details on using hashes here.

File details

Details for the file sts_json_datetime-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: sts_json_datetime-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.2

File hashes

Hashes for sts_json_datetime-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0c7d332696150b19f480e68e2b795b41fbdea62efbde04932031489217ccb47d
MD5 d39a8490adcc3792dc83bef9355af692
BLAKE2b-256 b26fa464eb45dd8dc4bab59ae601fb99e9032dce2ee8e133ef96e8b07f47c943

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