python flask 的request.data是个bytes 怎么获取到传来的json
时间: 2024-02-21 22:56:31 浏览: 260
在 Flask 中,如果客户端发送的请求数据是 JSON 格式的,可以通过 `request.get_json()` 方法获取传来的 JSON 数据。如果需要从 `request.data` 中获取 JSON 数据,可以使用 `json.loads()` 方法将字节流转换为 JSON 对象。
下面是一个示例代码:
```python
from flask import Flask, request, jsonify
import json
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def process_api_request():
data = json.loads(request.data)
# 对传来的 JSON 数据进行处理
result = {'status': 'success'}
return jsonify(result)
if __name__ == '__main__':
app.run(debug=True)
```
在上面的代码中,我们首先使用 `json.loads(request.data)` 方法将 `request.data` 中的字节流转换为 JSON 对象。然后,对获取到的 JSON 数据进行处理,并将处理结果转换为 JSON 格式的字符串返回给客户端。
需要注意的是,如果客户端发送的请求数据不是 JSON 格式的,使用 `request.get_json()` 方法获取 JSON 数据会抛出异常。因此,在处理请求之前需要先判断请求的数据格式是否正确,避免程序出现异常。
阅读全文