这是我的Django视图:
def sendMail(request):
url = 'https://example.com/example'
dictwithlist = request.FILES['dictwithlist']
parsed = json.load(dictwithlist)
// the log file shows that the lists are intact after json.loads
logip(request, json.loads(parsed))
x = requests.post(url, json.loads(clockoutJSON))
return HttpResponse(status=204)
如果我只是发送解析后的数据,那么我的express服务器会收到一个空dict{}。当我记录json.loads(解析(时,我发现了良好的数据,列表完好无损。然而,当数据到达另一端时,嵌套列表中的字典都会被删除,只替换为其键的字符串。
我尝试使用这里描述的头:将dicts列表作为requests.post的dict值发送,但我只收到500个错误。我不知道我的标题格式是否错误。(因为代码有行距,我正在复制它(
有人能帮我理解为什么会失败吗?我需要这份清单才能把它的字典原封不动地读完。
我认为发送请求时可能需要使用dumps
而不是loads
:
x = requests.post(url, json.dumps(parsed))
或者,如果您使用pythonrequests
库,您可以将json作为dict发送,如下所示:
response = requests.post(url=url, json=parsed)