0

我有这个代码:

objects = Event.objects.all()
i = 0
dict = {}
small_dict = {}
for o in objects:
    small_dict = {'id': o.id, 'url': o.url, 'name': o.name, 'image': o.image}
    dict[str(i+1)] = small_dict
    small_dict = {}

return HttpResponse(
    simplejson.dumps(dict),
    content_type = 'application/javascript; charset=utf8'
)

它给了我这个:

{"1": {"url": "http://www.rte.ie/tv/crimecall/", "image": "http://img.rasset.ie/0002c8d0-250.jpg", "id": 2, "name": "Crimecall"}}

我如何在()括号之间进一步封装它?因为没有它们,我在 php 中解析它们时会出错。

4

2 回答 2

2
  1. JSON 的 MIME 类型是“application/json”。
  2. 如果您在PHP中解析它时遇到问题,那么这是一个PHP问题。不要在服务器端添加括号,而是在 PHP 中解析字符串之前添加它们。我猜你知道如何在 PHP 中进行连接,对吧?无论如何,我不明白你的问题是什么 - 你不使用json_decode吗?
于 2010-12-02T21:29:52.147 回答
0

您可以这样做,但现在无法在浏览器中查看。如果这不是问题,这是代码:

callback = request.GET.get('callback', '')
objects = Event.objects.all()
i = 0
dict = {}
small_dict = {}
for o in objects:
    small_dict = {'id': o.id, 'url': o.url, 'name': o.name, 'image': o.image}
    dict[str(i+1)] = small_dict
    small_dict = {}

response = simplejson.dumps(dict)
response = callback + '(' + response + ')';

return HttpResponse(response,
    mimetype ='application/json; charset=utf8')
于 2010-12-02T22:00:02.967 回答