将django数据序列化为json以与jqgrid一起使用的推荐方法是什么?

时间:2010-11-23 04:24:36

标签: django json jqgrid django-views

我一直在和我的晚上一起争取获得jsonReader:在jqgrid中正确设置以匹配django的序列化器功能的JSON输出。我已经厌倦了尝试,并决定我应该只是提出一个视图,让输出jqgrid默认需要json。我的计划是编写一个视图,形成一个看起来像jqgrid想要它的字符串。这对我来说似乎有点难看(即大量手动格式化JSON),但我认为如果我选择使用jqgrid的更多功能,这可能是未来最可扩展的路线。从Django获取自定义格式化JSON的推荐方法是什么?通过创建类似下面的示例的视图,推荐使用Django完成我将要完成的工作的方法是什么?

def serializedData(request):
    querySet = Model.objects.filter(date=None).order_by('id')
    data = '{'
    for row in querySet:
        # go through each item and make a pretty json row and add it to data
    data += '}'
    return HttpResponse(data)

3 个答案:

答案 0 :(得分:0)

这样做:

from django.utils import simplejson
return HttpResponse(simplejson.dumps(data), mimetype="application/json")

答案 1 :(得分:0)

您应该查看一些可用的序列化/ API框架:

  • django-piston,我不太喜欢,因为我认为序列化不是那么灵活。
  • SpitEat,它是为了允许非常灵活的序列化而构建的,但是文档已经完全过时了......我没有时间来修复它......但你可以通过阅读它找到自己的方式测试和源代码(完全记录并且doc是最新的)
  • 更多套餐there

答案 2 :(得分:0)

我最终创建了一个与我想要的json格式相匹配的django模板。事实证明这是几行,所以我无法想象它更简单,特别是当名字必须手动分配时。

例子......类似的东西:

[{% for herp in derps %}
    { "id":"{{ herp.id }}___", "value":"{{ herp.value }}"}{% if not forloop.last %},{% endif %}
{% endfor %}]