我知道要将字典转换为字符串/从字符串转换,我使用json.loads
and json.dumps
。但是,当给定表示字典列表的字符串时,这些方法会失败。例如,
sample_entry = [
{"type": "test", "topic": "obama", "interval": "daily"},
{"type": "test", "topic": "biden", "interval": "immediate"},
]
将其转换为字符串str()
给我们
"[{'topic': 'obama', 'interval': 'daily', 'type': 'test'}, {'topic': 'biden', 'interval': 'immediate', 'type': 'test'}]"
有没有一种简单的方法可以将其转换回字典列表?eval
正是我想要的,但我担心在用户提供的字符串上运行它。
是否有另一种方法可以实现这一点,并且在面对不同的列表长度和可变的空白时仍然稳健?
编辑:虽然 json.loads(json.dumps(sample_entry)) 确实有效,但 json.loads(str(sample_entry)) 不起作用。区别似乎在于使用单引号和双引号的地方。我从中接收该字符串的数据源在使用 ' vs " 时不太可能保持一致,因此我想同时考虑这两者。