我想弄清楚如何在 Django 中处理 POSTed json 对象。我正在向服务器发布一个 json 对象,并希望像使用 python 字典一样使用它。
这是我的js:
$.post(
"/projects/vote/",
obj,
function(data) {
//alert("Data Loaded: " + data);
alert(data["msg"]);
});
我要返回的内容(django 视图结束):
return HttpResponse(json.dumps(foo), mimetype="application/json")
在哪里
foo = {"msg": str(postdata)}
换句话说,我正在向服务器发布一个 json 对象,并提醒我在服务器上获取的 python 对象的字符串,以便我可以看到发生了什么。
如果我的 obj 是:
var obj = {
'bulk': false,
'data': {
'chosen': '14',
'proj1': '15',
'proj2': '14',
'proj3': '16',
'more': false,
},
'data2': [
{
'a': 'apple'
},
{
'b': 'banana'
},
],
}
我得到这个作为回报:
<QueryDict: {u'data[proj3]': [u'16'], u'data[proj2]': [u'14'], u'data[chosen]': [u'14'], u'data[proj1]': [u'15'], u'bulk': [u'false'], u'data2[0][a]': [u'apple'], u'data[more]': [u'false'], u'data2[1][b]': [u'banana']}>
为什么json obj和python dict的结构不对齐?以及如何使结构相同?例如,我将 data2 作为另一个字典的键而不是 data2[0][a]
我如何获取邮政数据:
# django version 1.4
postdata = request.POST.copy()