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 に答える