如何将request.data转换为dict?

2024-04-25 14:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用以下行(请求库)POST请求从客户端获取JSON数据:

request.data

如何将此转换为dict?

它起作用:

response_data = request.get_json()

但是如何把它转换成dict呢?


Tags: 数据json客户端datagetresponserequestpost
2条回答

编辑:对于post请求:

import requests
import json
url = "https://jsonplaceholder.typicode.com/posts/"

payload = {
    "userId": 10,
    "id": 901,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
 }
headers = {
    'content-type': "application/json",
    'cache-control': "no-cache",
    'postman-token': "c71c65a6-07f4-a2a4-a6f8-dca3fd706a7a"
    }

response = requests.request("POST", url, data=json.dumps(payload), headers=headers)

print(type(response.json()))

class 'dict'


你可以用这样的东西:

import requests

url = "https://api.icndb.com/jokes/random"

headers = {
    'cache-control': "no-cache",
    'postman-token': "77047c8b-caed-2b2c-ab33-dbddf52a7a9f"
    }

response = requests.request("GET", url, headers=headers)

print(type(response.json()))

class 'dict'

import json

response_data = json.loads(response.text)
result = response_data.get('result')

您需要反序列化response.text使其成为dict,然后使用相应的键使用.getresult是上面例子中的一个键。而response是url调用的响应。

相关问题 更多 >