gpt4 book ai didi

python - 如何正确使用 flask request 从 JSON 中检索数据?

转载 作者:太空宇宙 更新时间:2023-11-04 02:50:28 26 4
gpt4 key购买 nike

我看了很多与我的标题相似的问题,但我还没有发现任何与我有同样问题的问题。

我执行了 requests.post 以将 JSON 发布到 API restful 服务器。下面是片段

import requests

def upload_data():
url = "http://127.0.0.1:8088/"
data = {"value":"abc123"}
response = requests.post(url, data=data)

print response.status_code, response.reason, response.text

upload_data()

服务器端

from flask_restful import Api, Resource
from flask import request

class MyAPI(Resource):
def get():
pass

def post(self):
value = request.data['value']
response_object = {
'value':value
}

return response_object, 201

我希望通过使用

显示 201 Created 的结果来让 POST 函数工作
{
'value':'abc123'
}

但是每当我运行脚本时,它都会给我错误提示

    value = request.data["value"]
TypeError: string indices must be integers, not str

如果这是一个不好的问题,我很抱歉,但如果有人能告诉我我在这个脚本中遗漏了什么,我真的很感激。谢谢。

最佳答案

那是因为请求数据还没有被解析成 python 字典。你是不是在想

data = json.loads(request.data)

但是请注意,您实际上并没有将 JSON 正文发布到您的 Flask 服务器。您正在发布多部分表单数据。所以你可能正在寻找luoluo发布的答案。

另一方面,如果您真的想处理 json,发送 json 的正确方法如下所示:

requests.post(url, json=data)

然后按照建议加载。

关于python - 如何正确使用 flask request 从 JSON 中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44047395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com