Python对象为JSON,但只有选定的属性

问题描述 投票:0回答:1

我正在尝试使对象与JSON相互转换。该对象使用SQL Alchemy,因此无法使用json.dumps(vars(self))。我正在寻找使这成为可能的语法。

    def to_json(self):
        obj = {
            self.won,
            self.gameOver,
            self.allowMultiColor,
            self.pattern,
            self.board,
            self.round,
            self.totalRounds
        }

        return json.dumps(obj)

然后我想重新定义如下字段:

    def from_json(self, json_string):
        obj = json.loads(json_string)

        self.won = obj['won']
        self.gameOver = obj['gameOver']
        self.allowMultiColor = obj['allowMultiColor']
        self.pattern = obj['pattern']
        self.board = obj['board']
        self.round = obj['round']
        self.totalRounds = obj['totalRounds']

to_json方法无效。当我尝试再次获取它时,出现此错误:TypeError: list indices must be integers or slices, not str

我是python的新手,所以我还不了解所有花哨的语法

python json python-3.x flask
1个回答
0
投票

obj必须是字典,以允许使用字符串作为索引。因此obj应该看起来像这样

obj = {
            'won':self.won,
            'gameOver':self.gameOver,
            ...
        }
© www.soinside.com 2019 - 2024. All rights reserved.