1

这是我的 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)

如果我只是发送解析数据,我的快递服务器会收到一个空字典,{}。当我记录 json.loads(parsed) 时,我发现了很好的数据,并且列表完好无损。但是,当数据到达另一端时,嵌套列表中的字典全部被删除,只替换为它们的键字符串。

我尝试使用此处描述的标头:Sending list of dicts as value of dict with requests.post 出错,但我只收到 500 个错误。我不知道我的标题格式是否错误。(因为代码有行距,我正在复制它)

谁能帮我理解为什么会失败?我需要该列表以完整地阅读其字典。

4

1 回答 1

1

我相信您可能需要使用dumps而不是loads发送请求时:

x = requests.post(url, json.dumps(parsed))

或者,如果您使用的是 pythonrequests库,您可以将 json 作为 dict 发送,如下所示:

response = requests.post(url=url, json=parsed)
于 2022-02-13T21:06:47.853 回答