2010-04-05 44 views
6

我使用JSON庫,像這樣從創建Objective C的一個JSON POST請求創建的QueryDict表明它作爲整個JSON字符串,並使其在POST的QueryDict的第一項:iphone的Json POST請求Django的服務器內的QueryDict

 
POST QueryDict: QueryDict: {u'{"foo":"12","bar":"*"}': [u'']}> Error Could not resolve variable 

我可以先讀取密鑰,然後使用JSON作爲一個黑客重新分析。但爲什麼JSON字符串沒有正確發送?

回答

0

我狠心砍來解決我的問題是:

 
hack_json_value = request.POST.keys()[0] 
hack_query_dict = json.loads(hack_json_value) 
foo = hack_query_dict['foo'] 
bar = hack_query_dict['bar'] 

因此,這將允許我與服務器端的額外步驟提取兩個JSON值。但它應該一步工作。

3

這是爲了處理與JSON數據POST請求的方式:

def view_example(request): 
    data=simplejson.loads(request.raw_post_data) 

    #use the data 

    response = HttpResponse("OK") 
    response.status_code = 200 
    return response 
1

我已經處理了這個問題。我在閱讀request.body字典時發現了一個臨時解決方案。我假設你已經導入了json/simplejson庫。 在我看來:

post = request.body 
post = simplejson.loads(post) 
foo = post["foo"] 

此代碼塊幫助我通過發佈問題。我認爲發佈querydictrequest.POST還沒有正確開發NSMutableURLRequest呢。