Python遍历字典并作为JSON发送

时间:2020-07-19 14:24:52

标签: python

下面的代码仅列出字典中的第一组值,如下所示。如何将所有值显示为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"}

1 个答案:

答案 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)现在不在循环中,否则它将在每次迭代中打印结果。