我一直在我的Flask API中为项目使用flask_json的as_json装饰器。这对于顶级({name: ... })上的字典/哈希的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.11之前,Flask的jsonify函数仅接受顶级命令。这是由于Internet Explorer的较旧版本存在安全问题,该漏洞可通过覆盖Array原型受到攻击。

从Flask 0.11开始,jsonify在顶层接受任何有效的JSON值。

Flask-JSON与0.3.2允许的类型与jsonify相同。

关于python - flask_json扩展是否支持顶级数组JSON响应?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38647237/

10-10 12:49