Пакет Python 3.x / json не может преобразовать эту строку json в список - PullRequest
0 голосов
/ 29 мая 2019

У меня есть строка, которую я хотел преобразовать в список:

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

Это из другой программы, и я не могу контролировать цитирование ... одинарная или двойная кавычка

Среда: Python 3.x с импортом json

Мой код:

mystr =  "{'Attributes': {'a', 'b', 'h'}, 'Group3': {'c'}, 'Group2': {'s', 'm', 'r', 'ac'}}"
mylist = json.loads(mystr)

Я ожидал, что это будет действительный список

1 Ответ

0 голосов
/ 29 мая 2019

Ваша строка не является допустимым 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']}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...