Django返回JSON,如何在js中解析JSON对象

时间:2014-09-28 09:06:51

标签: javascript python json django

我从我的django代码JSON返回,它看起来像这样:

我的django代码:

objs = AccessInfo.objects.filter(~Q(weblink=''))
return HttpResponse(serializers.serialize('json', objs), mimetype="application/json")

我在前端得到的是:

enter image description here

我希望能够使用javascript迭代前端中的那些JSON对象,并在某些html中显示每个fields值。

如果我alert(data),我会收到[ Object, Object ]

我试过了$.parseJSON(data),但我得到了:

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data

我该怎么办?

更新

我的js正在接收这样的数据:

$.ajax({
   url: '/get_book_access_downloads/',
   type: 'get',
   data: {bookid:bookid},
   dataType: 'json'
}).done(function(data){
   // to do
});

1 个答案:

答案 0 :(得分:3)

您的数据已经解析。你有一个JavaScript对象列表,不需要再次解析它。

当您在dataType: 'json'电话上使用$.ajax()时,您使用jQuery加载数据,jQuery 为您解析JSON响应;如果你省略了那个参数,jQuery会以他们的mime类型自动检测JSON响应,然后为你解码。

dataType选项见jQuery.ajax() documentation

  

您期望从服务器返回的数据类型。如果没有指定,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将产生XML,在1.4 JSON中将产生一个JavaScript对象,在1.4脚本中将执行脚本,其他任何东西将是以字符串形式返回。)

     

[...]

     

" json":将响应评估为JSON并返回JavaScript对象。

您有2个结果的列表;每个结果都是一个JavaScript对象,其键为pkmodelfields,而fields值是每个模型字段的另一个对象。