gpt4 book ai didi

python - 将用户构建的 json 编码器传递给 Flask 的 jsonify

转载 作者:太空狗 更新时间:2023-10-29 22:17:57 25 4
gpt4 key购买 nike

我想将我写入的 numpy JSON 序列化程序传递到 Flask 的 jsonify 函数中,但我找不到执行此操作的方法。我不能使用 json.dumps,因为我必须在处理错误消息时设置 Flask 响应的 status_code。有没有办法将 JSON 序列化器作为参数传递,类似于在 json.dumps 中使用 cls 参数,如下所示:Convert numpy type to python ?我的代码如下;谢谢。

import json
import numpy as np
from flask import Flask, jsonify

class JSON_Improved(json.JSONEncoder):
'''
Used to help jsonify numpy arrays or lists that contain numpy data types.
'''
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
else:
return super(MyEncoder, self).default(obj)

app = Flask(__name__)
@app.errorhandler(ErrorMessage)
def handle_invalid_usage(error):
response = jsonify(error.to_dict())
response.status_code = error.status_code
return response

最佳答案

您可以使用 app.json_encoder = JSON_Improved 自定义 Flask 应用程序的 json 编码器。 JSON_Improved 继承自 flask.json.JSONEncoder

class JSON_Improved(JSONEncoder):

pass

https://web.archive.org/web/20190128005233/http://flask.pocoo.org/snippets/119 中有一个关于它的 Flask 片段

关于python - 将用户构建的 json 编码器传递给 Flask 的 jsonify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44146087/

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