Does Python Requests POST need numerical data to be a string rather than a float?

car*_*mom -1 python python-requests

Here is a small quote from this answer:

import requests
import json

data = {"data" : "24.3"}
data_json = json.dumps(data)
headers = {'Content-type': 'application/json'}

response = requests.post(url, data=data_json, headers=headers)
Run Code Online (Sandbox Code Playgroud)

Does anyone know for sure whether it matters whether you have

data = {"data" : "24.3"}

or

data = {"data" : 24.3} ?

Mar*_*ers 5

您已经在给一个字符串了requests.post(),因为您使用将该字典转换为JSON文档json.dumps()。requests这个字符串包含什么都没有关系。

它仅与发送此数据的任何服务器有关;就是该服务器将解码JSON文档并使用您的数字或字符串。

请注意,这requests可以为您执行JSON转换。无需在json.dumps()这里使用,只需将您的字典传递给json关键字argumnet即可:

import requests

data = {"data" : "24.3"}

response = requests.post(url, json=data)
Run Code Online (Sandbox Code Playgroud)

这还需要将Content-Type标题设置为application/json。