在Flask App中返回flash.jsonify时出错

问题描述

背景:
我正在构建一个基本的烧瓶应用程序,它将允许我从Atlas Compass Cluster返回一个Collection,然后使用Collection数据创建一个HTML容器来显示数据并创建一些D3图表。

问题:
我创建了两个@app.route,以使我能够直观地看到json.dumpflask.jsonify返回数据之前,决定使用哪个

不幸的是,尽管我的json.dump路由(通过index.html页面)返回了数据,但jsonify似乎不起作用。我的终端机

错误:
TypeError: jsonify() behavior undefined when passed both args and kwargs

代码:
这是我的代码,其中同时显示了 @ app.route

import flask
from flask import Flask,jsonify
import pymongo
from pymongo import MongoClient
from bson import ObjectId,json_util
import json

cluster = pymongo.MongoClient("mongodb+srv://group2:<PASSWORD>@cluster0.mpjcg.mongodb.net/<dbname>?retryWrites=true&w=majority")
db = cluster["simply_recipe"]
collection = db["recipes_collection"]

app = Flask(__name__)

@app.route("/recipes",methods=["GET"])
def get_recipes():
    all_recipes = list(collection.find({}))
    return json.dumps(all_recipes,default=json_util.default)

@app.route("/recipes_jsonify",methods=["GET"])
def get_recipes_jsonify():
    all_recipes = list(collection.find({}))
    return flask.jsonify(all_recipes,default=json_util.default)

我是Flask的一个完整的初学者,所以毫无疑问我错过了一些明显的东西,有人可以帮忙吗?

解决方法

这里有个例子,解释了jsonify如何处理您的数据:

 from flask import jsonify

@app.route('/_get_current_user')
def get_current_user():
    return jsonify(username=g.user.username,email=g.user.email,id=g.user.id)

输出:

{
"username": "admin","email": "admin@localhost","id": 42
}

来源:https://www.kite.com/python/docs/flask.jsonify

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...