当前位置: 首页 > 知识库问答 >
问题:

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

戚明朗
2023-03-14

我不知道如何强制Flask中的视图使用MIME类型application/json。以下是一个简单的视图,我将其放在一起进行演示:

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

JSON字符串(保存在变量ret)是从其他地方收集的(使用另一个使用子进程的程序的stdout),因此我不能使用Flask提供的jsonify

我已经看过了“返回Json”文档和这个Stackoverflow问题,但到目前为止我还没有任何运气。我已经四处找了一段时间了

谢谢

看下面的答案

解决方案:

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

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

    return resp

我发现这个网站很有用:用Python实现RESTfulWebAPI


共有2个答案

贲招
2023-03-14

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

r = make_response( data )
r.mimetype = 'application/json'
return r
窦涵忍
2023-03-14

如果您使用:

from flask import jsonify

然后在代码中:

return jsonify(somedict)

然后jsonify()自动将mime类型设置为“application/json”

编辑:

这以前被认为是一种风险,但现在不再是了,Flask也更新了它的建议:“ECMAScript 5关闭了此漏洞,因此只有非常旧的浏览器仍然有漏洞。所有这些浏览器都有其他更严重的漏洞,因此此行为已被更改,jsonify()现在支持序列化数组。”http://flask.pocoo.org/docs/1.0/security/#json-保安

 类似资料:
  • 我不知道如何强制Flask中的视图使用MIME类型。以下是一个简单的视图,我将其放在一起进行演示: JSON字符串(保存在变量)是从其他地方收集的(使用另一个使用

  • 我有两个应用程序:同事和服务,每个都有自己的模型 在coworkers models.py中,我可以“从services.models导入服务”。 当我尝试在services models.py中“from coworkers.models import Status”时,会收到以下错误消息: 回溯(最近一次调用):文件“/Users/lucas/Documents/projetos/cwk-ma

  • 我用ffmpeg库为android转换了一个图像到mp4视频,但这需要太长时间,我想避免第三方库,如果可能的话。请帮我解决我的问题。 谢谢你。

  • 如果按照步骤设置强制停止应用程序-

  • 问题内容: 我正在构建一个应用程序,如果用户登录,则必须更改其根视图控制器。如果用户登录,则我必须将标签栏控制器显示为主屏幕(如果用户未登录),则必须显示身份验证控制器。我的两个控制器都是情节提要控制器。现在在我的应用程序委托中,我输入了以下代码 按照如果用户登录的代码,必须showed.But它是不是被shown.I试图调试的被称为但是我的正在显示那可能是因为被设置为初始视图- 控制在故事板。有

  • 强制类型转换 隐式类型转换:隐式类型转换又称为自动类型转换,隐式类型转换可分为三种:算术转换、赋值转换和输出转换。 显式类型转换:显式类型转换又称为强制类型转换,指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型,这种类型转换可能会造成数据的精度丢失。 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。 转换的方法有两种: 自动转换(隐式转换):遵循一定的规则