下面的代码只列出了字典中的第一组值,如下所示。 如何将所有值显示为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"}
您将在每次迭代中覆盖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)
现在在循环之外,否则它将在每次迭代中打印结果。