首页 > 解决方案 > django post请求中的JSON解析错误

问题描述

我正在尝试通过 Django 中的 POST 请求发送数据

url = 'http://db-003:8013/v1/upgrade-ce'
payload = {
           "cluster_name": cluster_name,
           "cec_id": cec_id,
           "new_version": new_version,
           "cr_number": cr_number,         
          }

response = requests.post(url, data=payload)

在接收端发布方法:

cluster name = request.data.get('cluster_name')

接收端数据

<QueryDict: {'cluster_name': ['abcd'], 'cec_id': ['abc'], 'new_version': ['8.0.23'], 'cr_number': ['6587657']}>

获取的数据是一个列表,而不是单个字符串字符串。试过了json.dumps(),但是在接收端,数据是空的。

我如何获得一个单独的字符串

标签: pythonjsondjango

解决方案


在标头和 json.dumps(payload) 中将 Content-Type 作为 application/json 发送应该可以工作。

url = 'http://db-003:8013/v1/upgrade-ce'
payload = {
           "cluster_name": cluster_name,
           "cec_id": cec_id,
           "new_version": new_version,
           "cr_number": cr_number,         
          }

headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)

推荐阅读