下面的代码仅列出字典中的第一组值,如下所示。如何将所有值显示为JSON
{"born": 2000, "first": "John", "last": "Sam"}
@cherrypy.expose
def values(self):
docs = db.collection(u'users').stream()
results = {}
for doc in docs:
results = json.dumps(doc.to_dict())
print(results) # This prints all the values
return results # This returns only the first set
这样的数据库中有很多值
{"born": 2000, "first": "James", "last": "tom"}
{"born": 2001, "first": "George", "last": "Kevin"}
答案 0 :(得分:1)
您在每次迭代中都覆盖results
。尝试像这样更改代码:
@cherrypy.expose
def values(self):
docs = db.collection(u'users').stream()
results = []
for doc in docs:
results.append(json.dumps(doc.to_dict()))
print(results)
return results
请注意,results
现在是一个列表,在该列表中,我们在每次迭代中添加一个字典。此外,print(results)
现在不在循环中,否则它将在每次迭代中打印结果。