Skip to main content

A library for dealing with JSON as python objects

Project description

[![Build Status](https://travis-ci.org/dannyroberts/jsonobject.png)](https://travis-ci.org/dannyroberts/jsonobject)

A python library for handling deeply nested JSON objects
as well-schema'd python objects.

It is supposed to be a simpler, more standalone, and faster version
of the DocumentSchema portion of `couchdbkit`

This is just in the hacking stages and the API is not stable.

##Example##

The code below defines a simple user model, and it's natural mapping to JSON.

```python
from jsonobject import *

class User(JsonObject):
username = StringProperty()
name = StringProperty()
active = BooleanProperty(default=False)
date_joined = DateTimeProperty()
tags = ListProperty(unicode)

```

Once it is defined, it can be used to wrap or produce deserialized JSON.

```python
>>> user1 = User(
name='John Doe',
username='jdoe',
date_joined=datetime.datetime.utcnow(),
tags=['generic', 'anonymous']
)
>>> user1.to_json()
{
'name': 'John Doe',
'username': 'jdoe',
'active': False,
'date_joined': '2013-08-05T02:46:58Z',
'tags': ['generic', 'anonymous']
}
```

Notice that the datetime is converted to an ISO format string in JSON, but is a real datetime on the object:

```python
>>> user1.date_joined
datetime.datetime(2013, 8, 5, 2, 46, 58, 451286)
```

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

jsonobject-0.0.2.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file jsonobject-0.0.2.tar.gz.

File metadata

  • Download URL: jsonobject-0.0.2.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jsonobject-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8c2aa1f98d5c7dfc7fa28bcf1f0d433e05a3cacd3567887cd1867872c88806f1
MD5 4a03e5cc193303bf99169c65b235ee65
BLAKE2b-256 638dca3d62c49fd2c1428fc1d80b8bde4d0edd4344fb85d715120a33d59dd75b

See more details on using hashes here.

Provenance

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