使用
ast.literal_eval
分析字符串
"{'key1': 1, 'key2': 2, 'key3': 3}"
去查字典。
In [16]: import ast
In [17]: classes = {}
In [18]: classes["class1"] = ast.literal_eval("{'key1': 1, 'key2': 2, 'key3': 3}")
In [19]: classes
Out[19]: {'class1': {'key1': 1, 'key2': 2, 'key3': 3}}
请注意,您不能使用
json.loads
这里是因为你的字符串中有单引号
In [20]: import json
In [21]: classes = {}
In [22]: classes["class1"] = json.loads("{'key1': 1, 'key2': 2, 'key3': 3}")
---------------------------------------------------------------------------
JSONDecodeError Traceback (most recent call last)
<ipython-input-22-592615e01642> in <module>
----> 1 classes["class1"] = json.loads("{'key1': 1, 'key2': 2, 'key3': 3}")
JSONDecodeError: Expecting property name enclosed in double quotes:
line 1 column 2 (char 1)