Python 3.x / json软件包无法将此json字符串转换为list

时间:2019-05-28 22:33:25

标签: python json list

我有一个想要转换为列表的字符串:

"{'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)

我希望它是有效的列表

1 个答案:

答案 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']}