如何在python中从JSON对象获取数据数组?

时间:2018-06-10 11:03:20

标签: python jquery json django

我有一个像这样的jquery POST函数:

 $.post(data_send_url,
    {
        all_letters:["A","B","C"]
    },
    function(data, status){
        alert(data);
});

在服务器端,当我使用request.data中的Django view function访问它时,我得到了 <QueryDict: {'all_letters[]': ['e', 'r', 'p']}>。如何获得像all_letters = ['e','r','p']这样的Python列表?

3 个答案:

答案 0 :(得分:2)

这段代码解决了我的问题:

$.post(data_send_url,
    {
        all_letters:JSON.stringify(["A","B","C"]), //JSON.stringify added
    },
    function(data, status){
        alert(data);
});

并在views.py

json.loads(request.data.get("all_letters"))
json.loads(request.POST["all_letters"]) #both of these work fine

答案 1 :(得分:1)

您可以尝试stringify array并在此之后使用json.loads吗?

$.post(data_send_url,
    {
        all_letters: JSON.stringify(["A","B","C"])
    },
    function(data, status){
        alert(data);
});

# and after this use json.loads
import json

print(json.loads(request.data['all_letters']))

答案 2 :(得分:0)

尝试all_letter []&#39;如下所示:

request.data["all_letters[]"]

这可能会起作用,否则尝试在JS代码中正确构造querydict并尝试访问它。