首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用烧瓶返回空JSON

用烧瓶返回空JSON
EN

Stack Overflow用户
提问于 2015-04-05 00:28:12
回答 2查看 5.3K关注 0票数 0

我有一个简单的函数,它应该返回JSON。

代码语言:javascript
复制
@app.route('/storage/experiments', methods=['GET'])
def get_experiments():
    if not request.json:
        abort(400)
    experiments = db['experiments']
    cursor = experiments.find(request.get_json())
    print(dumps(cursor))
    resp = Response(response=dumps(cursor),
    status=200, \
    mimetype="application/json")
    return resp

打印(转储(游标))显示

[{"current": "11", "date": "12.12.2001", "_id": {"$oid": "551c7b642349c517f5fa5223"}, "name": "xaxa", "voltage": "34"}]

但返回空括号[]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-05 12:45:26

我想这是因为您的数据库游标(我不知道您使用的是什么数据库框架)而发生的。sqlalchemy?)当您想要返回数据集时,指向数据集的末尾,因为您的print()-statement已经在对它进行迭代。当您只注释掉print()语句时,它应该与此代码一起工作,因为我看不到这段代码中有任何其他错误:

代码语言:javascript
复制
@app.route('/storage/experiments', methods=['GET'])
def get_experiments():
    if not request.json:
        abort(400)
    experiments = db['experiments']
    cursor = experiments.find(request.get_json())
    #print(dumps(cursor))
    resp = Response(response=dumps(cursor),
    status=200, \
    mimetype="application/json")
    return resp
票数 0
EN

Stack Overflow用户

发布于 2015-04-05 11:31:08

您可以使用来自烧瓶模块的jsonify函数。

编辑克里斯蒂是对的,我没有注意到你在使用一个列表。无论如何,这是我为解决这个问题而编写的一个装饰器:Json装饰师。希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29452875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档