我一直在我的Flask API中为项目使用flask_json的as_json装饰器。这对于顶层({name: ... }
)的dicts / hashes的json响应很有效,但是我想做一个JSON响应,它是顶层的列表/数组:
[
{
"created_at": "02/07/2016 00:01:43",
...
},
{
"created_at": "02/07/2016 00:02:43",
...
}
]
但是,当我尝试返回一个数组时,它会引发一个ValueError:“不支持的返回值”异常。当我查阅模块的documentation时,它似乎只支持dict返回值。看起来json_response()的所有示例输出也产生散列JSON。这是否意味着我应该使用jsonify?
答案 0 :(得分:2)
在0.11之前,Flask的jsonify
函数只接受顶层的dicts。这是因为非常旧版本的Internet Explorer存在安全问题,可以通过覆盖Array
原型来攻击。
从Flask 0.11开始,jsonify
接受顶级的任何有效JSON值。
Flask-JSON与0.3.2的jsonify
类型相同。