Djangoでjson出力

id:Voluntas さんお勧めのsimplejsonを使う方法も試してみた。
serializers と simplejson で出力結果が違うのは、気にしない。


実際に使うときは、 simplejson を使うほうが良さそうです。

# -*- coding: utf-8 -*-
from django.http import HttpResponse
from django.core import serializers
from django.utils import simplejson

from myp.ajax.models import User

def ajax_xml(request):
    entrys = User.objects.all()
    values = serializers.serialize('xml', entrys) 

    return HttpResponse(values, mimetype='text/plain')  

def ajax_json(request):
    entrys = User.objects.all()
    values = serializers.serialize('json', entrys)  

    return HttpResponse(values, mimetype='text/plain')  

def ajax_sjson(request):
     entrys = User.objects.all()
     data = [dict(name=e.name, age=e.age) for e in entrys]
     values = simplejson.dumps(data, ensure_ascii=False) 

     return HttpResponse(values, mimetype='text/plain')