Welcome to moarjson’s documentation!¶
Contents:
Install¶
Simply install moarjson with pip:
pip install moarjson
or easy_install:
easy_install moarjson
Basic usage¶
Use moarjson just like you would use json:
import moarjson as json
json.dumps('Some string')
Add types to encode into json:
from datetime import datetime
json.dumps(datetime.now()) # Fails
# Tell json to convert datetime objects to str first
json.register(datetime, str)
json.dumps(datetime.now()) # Success
Use register as a decorator:
@json.register(datetime)
def convert_datetime(obj):
return obj.strftime(format='%Y-%m-%d %H:%M')
Django models¶
Django user model field:
from django.contrib.auth.models import User
@json.register(User)
def convert_user(user):
return {
'id': user.id,
'username': user.username
}
def user_view(request):
# Json encoded user object
json_dump = json.dumps(User.objects.get(pk=1))
return HttpResponse(json_dump, content_type='application/json')
User.objects.all() is an iterable, so register iterables first. Convert any iterable to a list:
import collections
json.register(collections.Iterable, list)
def user_list_view(request):
# List of users
json_dump = json.dumps(User.objects.all())
return HttpResponse(json_dump, content_type='application/json')
Contribution¶
The code is valid if it passes flake8. Imports are sorted with isort.
For testing py.test is used.