我有一个想要转换为列表的字符串:
"{'Attributes': {'a', 'b', 'h'}, 'Group3': {'c'}, 'Group2': {'s', 'm', 'r', 'ac'}}"
我尝试了json.loads()
,它给了我这个错误:
JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
它来自另一个程序,我无法控制引号...单引号或双引号
环境:带有导入json的Python 3.x
我的代码:
mystr = "{'Attributes': {'a', 'b', 'h'}, 'Group3': {'c'}, 'Group2': {'s', 'm', 'r', 'ac'}}"
mylist = json.loads(mystr)
我希望它是有效的列表
答案 0 :(得分:0)
您的字符串不是有效的JSON。
以下应该可以解决问题:
import json
mystr = "{'Attributes': ['a', 'b', 'h'], 'Group3': ['c'], 'Group2': ['s', 'm', 'r', 'ac']}"
mydict = json.loads(mystr.replace("'", "\""))
print(mydict)
>>> {'Attributes': ['a', 'b', 'h'], 'Group3': ['c'], 'Group2': ['s', 'm', 'r', 'ac']}