Python字典json

Bri*_* Li 1 python google-app-engine

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我只收到一个和for循环,当我在for循环中打印电子邮件时,我收到了6个结果,但是playerInfo的输出只有1组数据.

{"email": "test1", "gem": "0"}
Run Code Online (Sandbox Code Playgroud)

我的预期结果应该是

{"email": "test1", "gem": "0"},{"email": "test2", "gem": "2"}...
Run Code Online (Sandbox Code Playgroud)

Ada*_*and 7

你想要什么,我认为是一个词典列表.这将使您能够存储多个实体:

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)
Run Code Online (Sandbox Code Playgroud)

此外,您真的想避免print在AppEngine应用程序中使用.而是使用日志记录,因为print可能会产生意想不到的副作用.