Как заключить JSON в скобки?

У меня есть этот код:

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.

2 ответа

Решение

Вы можете сделать это таким образом, но это не отображается в браузере сейчас. Если это не проблема, вот код:

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')
  1. MIME-тип JSON - это "application/json".
  2. Если у вас есть проблемы с синтаксическим анализом в PHP, то это проблема PHP. Не добавляйте парены на стороне сервера, а добавляйте их перед анализом строки в PHP. Я думаю, вы знаете, как объединить в PHP, верно? В любом случае, я не понимаю, в чем ваша проблема - вы не используете json_decode?
Другие вопросы по тегам