2011-07-08 2 views
1
{ 
    "data": [ 
     { 
     "name": "Kill Bill", 
     "category": "Movie", 
     "id": "179403312117362", 
     "created_time": "2011-06-21T17:40:15+0000" 
     }, 
     { 
     "name": "In Search of a Midnight Kiss", 
     "category": "Movie", 
     "id": "105514816149992", 
     "created_time": "2011-03-21T03:59:21+0000" 
     }, 
     ] 
} 

これをサンプルデータとして使用できます。 request.POST変数から "In Midnight Kiss"を抽出する場合は、どうしますか?DjangoアプリケーションでAJAX経由で渡されたJSONデータにアクセスするにはどうすればよいですか?

+0

どこにアクセスしますか? –

+0

request.POSTにある場合は、そこからアクセスしてください。 –

+0

私はリクエストしました。POST ['data'] [2] ['name']、何も返しません。 –

答えて

2

文字列は、非標準化される必要があります。

import json 

def some_http_call(request) 
    json_string = request.GET.get('http_parameter_key', '') 
    json_object = json.loads(json_string) 

    data = json_object["data"] 
    for x in data: 
     print x["name"] 

some_http_callと仮定すると、あなたのディスパッチャであるとhttp_parameter_keyは、JSON文字列が辞書dataに含まれる要素のアレイ内のすべての名前を表示します上記のコードを来ているパラメータの名前です。

+0

これは簡単ですか? –

+1

http_paramter_keyは、フォームで使用するパラメータの名前です。そう簡単です。それを試してみてください。 –

+0

私は上記のJSONデータだけを渡しているので、これは必要ないと思います。 –

1

まず、simplejsonまたはjsonを使用してデシリアライズしてから、他のPythonオブジェクトと同様にアクセスします。

+0

Ignacioに返信してくれてありがとうございます。このようなことができますか?> response = simplejson.something(request.POST)そしてresponse.data.name? –

+1

JSONオブジェクトはPython辞書にデコードされるので、 'response [u'data '] [i] [u'name']'となります。 –

+0

すごい、素晴らしい、すべてが今よりはるかに明確です。あなたを愛してください –

関連する問題