python - Flask API 无法解码 JSON 数据。错误: "message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)"

标签 python flask flask-restful

我正在使用flask和flask-restful设置一个简单的rest api。现在我想做的就是使用一些 Json 数据创建一个 post 请求,然后返回它以查看它是否有效。我总是收到相同的错误 "message": "无法解码 JSON 对象: 期望值: 第 1 行第 1 列 (char 0)"

下面是我的代码

from flask import Flask, jsonify, request
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)


class Tester(Resource):
   def get(self):
       return {'about': 'Hello World'}

   def post(self):
       data_json = request.get_json(force=True)
       return {'you sent': data_json}


api.add_resource(Tester, '/')

if __name__ == '__main__':
    app.run(debug=True)

我为测试这一点而发出的 curl 请求如下,我还尝试使用 postman 发出请求

curl -H "Content-Type: application/json" -X POST -d '{'username':"abc",'password':"abc"}' http://localhost:5000

最佳答案

您需要在 Postman 中选择 raw -> JSON (application/json),如下所示:

enter image description here

当涉及到您的 cURL 请求时,answer解释说windows的命令行不支持带单引号的字符串,所以使用:

curl -i -H "Content-Type: application/json" -X POST -d "{\"username\":\"abc\", \"password\":\"abc\"}" 127.0.0.1:5000

相反:

curl -H "Content-Type: application/json" -X POST -d '{'username':"abc",'password':"abc"}' http://localhost:5000

\ 转义 " 字符。

关于python - Flask API 无法解码 JSON 数据。错误: "message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54908079/

相关文章:

Python Flask-Restful 应用程序与 Kubernetes - 连接被拒绝

python - 我在我的 flask 中遗漏了什么 restful api 输出是空的并且重复了

python 将字符串数字拆分为数字

python - Python错误 “TypeError: unorderable types: list() <= int()”

python - Flask Restful - 使用 parser_args() 向 python 中的请求添加参数时状态 400

python - 为什么验证不适用于表单请求?

python - 停止 Flask 复制加载的变量

python - 从 pandas 访问器访问 pandas DataFrame

python - 将python路径放在windows机器上

python - 运行docker镜像提供-无法找到镜像错误