这是什么样的数据结构?蟒蛇

时间:2020-02-19 17:00:54

标签: python flask

学习Python,我正在学习有关Flask的出色的Corey Schafer教程,他做到了(出于明显的原因,我已提取并总结了它):

    from folder_app import app # I did it to follow the structure and that the code is equal to the original

    s = Serializer(app.config['SECRET_KEY'], 1800) # key, seconds
    token = s.dumps({'user_id': 1}).decode('utf-8')
    s = Serializer(app.config['SECRET_KEY'])


    user_id = s.loads(token)['user_id'] # This is where I have the doubt

    print(user_id)
    print(type(s.loads(token)))

该代码有效,但我遇到的问题是,尽管您可以看到(s.loads (token))dict,但我希望看到类似s.loads ({token ['user_id']})s.loads (token ['user_id'])的内容。或类似的东西。也就是说,它是dict,但事实并非如此。从某种意义上说,这是否来自他们所谓的“ pythonic”(到目前为止,我还没有看到)的更大概念,或者仅在这种情况下才会发生。顺便说一句,https://itsdangerous.palletsprojects.com/en/1.1.x/jws/出现:loads (self, s, salt = None, return_header = False)参数在括号中。我希望我的疑问很清楚:)

1 个答案:

答案 0 :(得分:0)

我知道这不是每个人的回答,而只是增加我的评论。这是overlay.frame = self.bounds // bounds, not frame 函数如何在带有json模块的字典上工作的示例。 https://docs.python.org/3/library/json.html#json.loads。它要做的是获取一个json字符串,然后在Python中返回字典类型的对象。您的序列化器正在执行类似的操作。它采用令牌字符串并将其表示为override func layoutSubviews() { super.layoutSubviews() self.overlay.frame = self.bounds }

之类的对象

我假设的loadsjson.dumps相似,后者为您提供python字典的json字符串表示形式。

dict

因此,您只需做s.dumps即可,它只是链接操作。

相关问题