Python Flask:request.json可以工作,但request.get_json()会导致错误代码500

Python Flask:request.json可以工作,但request.get_json()会导致错误代码500,python,flask,Python,Flask,声明使用request.get_json(),但这会导致服务返回错误: Server returned HTTP response code: 500 但是,调用request.data或request.json都可以 堆栈跟踪: Traceback (most recent call last): File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1701, in __call__

声明使用
request.get_json()
,但这会导致服务返回错误:

Server returned HTTP response code: 500
但是,调用
request.data
request.json
都可以

堆栈跟踪:

Traceback (most recent call last):
  File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1701, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/blake/ves/p27/lib/python2.7/site-packages/werkzeug/contrib/fixers.py", line 125, in __call__
    return self.app(environ, start_response)
  File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1689, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1360, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1358, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/blake/ves/p27/lib/python2.7/site-packages/flask/app.py", line 1344, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/blake/workspace/starcycle-flask/starcycleweb.py", line 17, in api
    print request.get_json()
  File "/home/blake/ves/p27/lib/python2.7/site-packages/werkzeug/local.py", line 336, in __getattr__
    return getattr(self._get_current_object(), name)
AttributeError: 'Request' object has no attribute 'get_json'

我认为get_json是获取json数据的首选方法。

在Flask/wrappers.py中,方法
get_json()
被定义为类
请求的方法


但是,同一个文件仍然包含旧的、不推荐使用的方法
json()
。如果您有一个旧版本的flask,那么a)更新或b)改用
request.json()

我在flask响应对象上也有类似的错误,结果是版本问题,我们使用了flask 0.12.1,而get_json()在1.0.2上可用

文件:

VS


在调试模式下,它会告诉我:“请求”对象没有属性“get_json”,你能给你的问题添加stacktrace吗?你使用的是最新版本Flask 0.10吗
get_json
是在那时添加的,我刚刚意识到这个问题是什么——除了flask.request模块之外,我还使用了python请求库。python请求库还有一个response.json()方法,这正是引起我困惑的原因/放屁