Разобрать одноквартированный словарь ключа и значение в Python - PullRequest
1 голос
/ 27 апреля 2020

У меня есть Python словарь

original_dict={'body': '{"infra":["dev4","elk"],{"type":"file_integrity"}'}

Я хочу иметь возможность анализировать ключи и значения original_dict как обычный словарь, что я не могу сейчас сделать, потому что ключ 'body' имеет словарь преобразуется в строку, и поэтому я не ссылаюсь ни на один из его ключей. Так что я должен быть в состоянии сказать:

infra=original_dict['body]['infra']

Может кто-нибудь помочь мне с этим.

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Вы также можете использовать ast:)

import ast 
original_dict = {'body': '{"infra":["dev4","elk"],"type":"file_integrity"}'}
original_dict['body'] = ast.literal_eval(original_dict['body'])
1 голос
/ 27 апреля 2020

Прежде всего, вам не хватает фигурной скобки в original_dict. Вот пример преобразования строки в словарь.

    import json
    original_dict={'body':'{"infra":["dev4","elk"],"type":"file_integrity"}'}
    original_dict['body'] = json.loads(original_dict['body'])
    infra=original_dict['body']['infra']
    print(infra)

Вывод: ['dev4', 'elk']

...