我有一个简单的代码,可以使用sqlalchemy从db获取用户并将其作为json返回。我的问题是如何格式化输出以获得如下结果:
{"results": [{"id":1, "username":"john"},{"id":2,"username":"doe"}]}
我的代码输出了一个错误,作为python新手,我似乎无法修复这个错误:
d = []
for user in Users.query.all():
v = {}
for columnName in Users.__table__.columns.keys():
v[columnName] = getattr( user, columnName )
d.append( v )
return jsonify( d )
守则上说:
ValueError: dictionary update sequence element #0 has length 11; 2 is required
谢谢。
我只是简单地说
而不是
你用
*args
调用dict()
,这将把参数扩展到位置参数。这是你所看到的错误的典型原因。别说了。啊,既然您的代码已经被粘贴,我可以看到根本问题确实来自
jsonify
。下面的解决方法应该是令人满意的。用
json.dumps
替换jsonify
,如果不能解决问题,请告诉我。但是如果您希望使用
flask.jsonify
,那么您应该查看flask
文档。jsonify
的参数应与任何dict constructor的参数相同,即dict或iterable的元组。所以这就是问题所在。相关问题 更多 >
编程相关推荐