一尘不染

在视图中强制应用程序/ json MIME类型(Flask)

json

我不知道如何application/json在Flask中为视图强制使用MIME类型。这是我出于演示目的汇总的一个简单视图:

@app.route("/")
def testView():
    ret = '{"data": "JSON string example"}'
    return ret

JSON字符串(保存在variable中ret)是从其他地方收集的(使用来自使用另一个程序的stdout
subprocess),所以我不能使用jsonifyFlask提供的JSON字符串。

我看过“ Returning Json”文档这个
Stackoverflow问题,但到目前为止我还没有碰到任何运气。我已经寻找了一段时间,并且会继续搜索,但是我想在这里问一下,以防万一有人遇到这个问题。

谢谢。


见下面的答案

解决方案:

@app.route("/")
def testView():
    ret = '{"data": "JSON string example"}'

    resp = Response(response=ret,
                    status=200,
                    mimetype="application/json")

    return resp

我发现此网站很有用:使用Python和Flask实现RESTful Web
API


阅读 241

收藏
2020-07-27

共1个答案

一尘不染

就像soulseekah注意到的那样,在这种情况下,make_response可能是一个更好的选择。然后设置mimetype属性。

r = make_response( data )
r.mimetype = 'application/json'
return r
2020-07-27