python - Python对象到JSON,但只有选定的属性
问题描述
我正在尝试将我的对象从 JSON 转换为 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 新手,所以我还不知道所有花哨的语法
解决方案
obj 必须是允许使用字符串作为索引的字典。所以 obj 应该是这样的
obj = {
'won':self.won,
'gameOver':self.gameOver,
...
}
推荐阅读
- vue.js - 从 Axios GET 设置数据
- typescript - Vue-CLI、TypeScript 和 monorepo:如何在 /src 之外声明类型?
- node.js - req.flash 不能与 res.redirect 一起使用
- linux - 在屏幕截图中获取文本或基于文本的形状的 X/Y 位置的最快方法?
- bash - Bash:如何检查用户是否存在?
- python - 在 scikit learn 中获取决策树连续拆分变量的值
- c++ - 当我尝试使用空的默认构造函数创建对象但在 ANSI C++ 中添加括号时会发生什么?
- javascript - 检查行时从表中的特定列获取数据
- c# - 为较旧的 JSON 结构添加向后兼容性支持
- c# - 访问 Outlook 编辑器对象