Jay*_*com 41 python json flask mime-types
我无法弄清楚如何强制application/jsonFlask中的视图的MIME类型.这是一个简单的视图,我为了演示目的而将它们拼凑在一起:
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
return ret
Run Code Online (Sandbox Code Playgroud)
JSON字符串(保存在变量中ret)是从其他地方收集的(使用来自其他程序的stdout subprocess),所以我不能使用jsonifyFlask提供的.
我已经看过"返回Json"文档和这个 Stackoverflow问题,但到目前为止我还没有运气.我一直在寻找一段时间并将继续搜索,但我想我会问这里以防万一有人遇到过这个问题.
谢谢.
请参阅以下答案
解决方案:
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
resp = Response(response=ret,
status=200,
mimetype="application/json")
return resp
Run Code Online (Sandbox Code Playgroud)
我发现这个网站很有用:用Python和Flask实现RESTful Web API
Pro*_*ica 39
如果你使用
from flask import jsonify
Run Code Online (Sandbox Code Playgroud)
然后在你的代码中
return jsonify(somedict)
Run Code Online (Sandbox Code Playgroud)
然后jsonify()自动将mime类型设置为'application/json'
编辑:
这在以前被认为是一种风险,但现在已经不再存在了,Flask也更新了它的建议:"ECMAScript 5关闭了这个漏洞,因此只有极其旧的浏览器仍然容易受到攻击.所有这些浏览器都有其他更严重的漏洞,所以这个行为发生了变化和jsonify()现在支持序列化数组." http://flask.pocoo.org/docs/1.0/security/#json-security
Ada*_*ter 18
就像soulseekah注意到的那样,在这种情况下,make_response可能是更好的选择.然后设置mimetype属性.
r = make_response( data )
r.mimetype = 'application/json'
return r
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39308 次 |
| 最近记录: |