【问题标题】:Flask: jsonify listed generatorFlask:jsonify 列出的生成器
【发布时间】:2021-08-13 15:32:51
【问题描述】:

我正在使用烧瓶对已使用 list() 命令在字典中列出的生成器进行 jsonify,如下所示:

r = {
      "stocks": list(current_user.stocks)
     }

但是当我尝试使用jsonify(r) 时,我收到以下错误:

TypeError:Stocks 类型的对象不是 JSON 可序列化的

在终端中,如果我只是打印出list(current_user.stocks),它会返回我:

[<Stocks GOOGL>, <Stocks TSLA>]

Stocks 是我在 flask-sqlalchemy 中使用的表/类。我希望 JSON 看起来像这样:

{"stocks": [<Stocks GOOGL>, <Stocks TSLA>]}

&lt;Stocks GOOGL&gt; 和另一个数组元素是字符串我没有问题。

关于如何在 dict 中将其 jsonify 的任何想法?提前致谢!

【问题讨论】:

  • 什么是Stocks?你希望它看起来如何?请提供预期的输出。
  • 嗨@YevhenKuzmovych!感谢您的反馈,我编辑了帖子。

标签: python json flask generator jsonify


【解决方案1】:

您提供的示例不是有效的 JSON。您可以尝试以下方法:

r['stocks'] = list(map(repr, r['stocks']))

那么jsonify(r) 应该会产生类似:

{"stocks": ["<Stocks GOOGL>", "<Stocks TSLA>"]} # Note that these are strings

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 2023-03-24
    • 2022-11-05
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多