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

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

Я пробовал через
what = str("{'id': '4315398315201472005'}")
w = json.loads(what)
print(w["id"]
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 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'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
26 июн. 2024, в 02:23
5000 руб./за проект
26 июн. 2024, в 00:28
5000 руб./за проект
25 июн. 2024, в 23:31
1500 руб./за проект