Предположим, я ввожу это
{'Name':'Rick', 'Country':'UK'}
Это будет восприниматься как строка
Какова процедура установки типа в качестве словаря?
Предположим, я ввожу это
{'Name':'Rick', 'Country':'UK'}
Это будет восприниматься как строка
Какова процедура установки типа в качестве словаря?
Вы можете использовать literal_eval
вместо того, чтобы искажать кавычки и применять json.loads
>>> ast.literal_eval("{'Name': 'Rick', 'Country': 'UK'}")
{'Country': 'UK', 'Name': 'Rick'}
literal_eval
может использоваться для оценки строк, которые выражают любой из основных типов, таких как tuple
, dict
, строки и числа и т. д.
используйте
json.loads
Это зависит от того, куда вы его вводите. Если он введен в файл .py, то это строковый литерал Python и уже dict, как только модуль загружается. Если читается из файла или читается из стандартного ввода, это, ну, все, что вы хотите. Если вы сделаете правило, что ввод является литералом Python, то
ast.iteral_eval
проанализирует его. Если правило состоит в том, что это JSON, тоjson.loads
подойдет.