Querydict无法识别Django中的json数组

时间:2018-09-19 15:35:07

标签: ajax django django-rest-framework

Django和Django Rest Framework无法检测以下JSON对象中的数组:

{
   "datum":
        [
             {'proposed':'20/sep/2018', "pk":"475"},
             {'proposed':'20/sep/2018', "pk":"517"}
        ]
}

当我执行print(request.data)时,这是输出:

 <QueryDict: {'{"datum":[{"proposed_submission_date":"20/Sep/2018","pk":"475"},{"proposed_submission_date":"20/Sep/2018","pk":"512"}]}': ['']}>

当我做print(request.data.keys())时,我得到:

 {"datum":[{"proposed_submission_date":"20/Sep/2018","pk":"475"},{"proposed_submission_date":"20/Sep/2018","pk":"512"}]}

您可以看到它以json字符串为键,而未分配“基准”作为键。

我需要对JSON字符串做其他事情吗?

我正在对Django rest框架后端进行AJAX PUT。

1 个答案:

答案 0 :(得分:3)

您看到的是QueryDict而不仅仅是字典,这表明您已将数据作为application / x-www-form-urlencoded或multipart / form-data发送。

确保您以application/json内容类型发送请求,这样就可以了。