【发布时间】:2022-01-06 10:37:35
【问题描述】:
我正在查询我的数据库,然后将值返回并将它们 JSONIFY 为 JSON 格式,以便“fullcalendar js”可以解析它们并在我的前端显示它们。
我的数据库模型如下:
class database(db.Model):
id = db.Column(db.Integer, primary_key=True)
userid = db.Column(db.Integer, nullable=False)
user = db.Column(db.String(200), nullable=False)
startdate = db.Column(db.String(10), nullable=False)
enddate = db.Column(db.String(10), nullable=False)
duration = db.Column(db.Integer, nullable=False)
approved = db.Column(db.Boolean, nullable=False)
我需要的 JSON 格式是:
[
{
"title": "Long Event",
"start": "2014-09-07",
"end": "2014-09-10"
}
]
我尝试过的(“但失败了!”)
alldata = database.query.filter(database.approved == True).all()
events = {"title": [], "start": [], "end": []};
for row in alldata:
events["title"].append(row.user.strip("[]"))
events["start"].append(datetime.datetime.strptime(row.startdate,'%d/%m/%Y').strftime('%Y-%m-%d').strip("[]"))
events["end"].append(datetime.datetime.strptime(row.enddate, '%d/%m/%Y').strftime('%Y-%m-%d').strip("[]"))
# Serializing json
json_object = json.dumps(events, indent=4)
jsontoreturn="["+json_object+"]"
return jsontoreturn
失败的原因是生成的 JSON 格式为:
[{
"title": [
"Ben"
],
"start": [
"2021-12-29"
],
"end": [
"2021-12-31"
]
}]
如您所见,Dictionary 正在添加 Sqaure 括号,因此 FullCalendar JS (https://fullcalendar.io/docs/events-json-feed) 无法正确解析并失败。
有人有什么想法吗?
【问题讨论】:
标签: python json flask sqlalchemy