我正在使用 dict 创建一个 json 对象,但我在使用 dict 和 json 时遇到了一些问题!
def get(self):
players = db.GqlQuery("SELECT * FROM Player")
playerInfo = {}
for player in players:
email = player.email.encode("utf-8")
gem = str(player.gem)
print email
print gem
playerInfo["email"] = email
playerInfo["gem"] = gem
b = json.dumps(playerInfo)
self.response.out.write(b)
出于某种原因,我只收到一个和 for 循环,当我在 for 循环中打印电子邮件时,我收到了 6 个结果,但 playerInfo 的输出只有一组数据。
{"email": "test1", "gem": "0"}
我的预期结果应该是
{"email": "test1", "gem": "0"},{"email": "test2", "gem": "2"}...
最佳答案
你想要的,我想是一个字典列表。这将使您能够存储多个实体:
players = db.GqlQuery("SELECT * FROM Player")
playerInfo = []
for player in players:
email = player.email.encode("utf-8")
gem = str(player.gem)
playerInfo.append({"email" :email, "gem": gem})
b = json.dumps(playerInfo)
self.response.out.write(b)
此外,您确实希望避免在您的 AppEngine 应用程序中使用 print
。请改用日志记录,因为 print
可能会产生意想不到的副作用。
关于Python字典json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774796/