@ID6
Держитесь подальше от негативных людей

Как превратить str(словарь) обратно в словарь?

Я пробовал через
what = str("{'id': '4315398315201472005'}")
w = json.loads(what)
print(w["id"]
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 3
Vindicar
@Vindicar
RTFM!
Лучше задайся вопросом, почему вообще у тебя str() от словаря?
Веб-сервисы возвращают текст в формате json, который нужно декодировать через json.load() / json.loads().
После декодирования ты получаешь собственно словарь, с которым можно работать.
Короче, у тебя что-то напутано выше по коду, в том участке, который ты не показываешь. Покажи весь код.
Ответ написан
Комментировать
xzripper
@xzripper
0xC0000005
JSON не поддерживает одинарные кавычки, вместо этого используйте двойные ("), и в строке где вы создаёте JSON используйте одинарные кавычки чтобы не было синтаксической ошибки. И чтобы превратить строку в словарь используйте ast_eval, и работает также, и безопаснее eval.
Ответ написан
fenrir1121
@fenrir1121
Начни с документации
Можно использовать модуль ast. Но лучше воспользоваться советом Vindicar и поправить код, который привел к этой ситуации.
In [7]: import ast

In [8]: what = "{'id': '4315398315201472005'}"

In [9]: d = ast.literal_eval(what)

In [10]: d
Out[10]: {'id': '4315398315201472005'}

In [11]: d['id']
Out[11]: '4315398315201472005'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 21:55
200000 руб./за проект
24 нояб. 2024, в 21:41
1000 руб./за проект
24 нояб. 2024, в 21:19
35000 руб./за проект