Python 从嵌套键中提取值

Python 从嵌套键中提取值,python,key,python-3.6,Python,Key,Python 3.6,我需要从python中的嵌套键中提取特定值 例如,从下面我想从键参数中提取开始 {'Key': 'Params', 'Value': `'{"Shut":false,"Remove":false,"SnapshotRequired":false,"Start":"Never","End":"Never"}'} 这是我所能做到的 for tag in i["Tags"]: if 'Params' in tag['Key']: 然后我可以得到值,但

我需要从python中的嵌套键中提取特定值 例如,从下面我想从键参数中提取开始

{'Key': 'Params', 'Value': `'{"Shut":false,"Remove":false,"SnapshotRequired":false,"Start":"Never","End":"Never"}'}
这是我所能做到的

            for tag in i["Tags"]:
            if 'Params' in tag['Key']:
然后我可以得到值,但这是整个字符串。

您可以使用
dict.get(key)
方法获取在
get()
中指定的键的值,其中
dict
是存储字典的变量

您也可以使用
dict[key]
。它给出了相同的结果

例如,在您的情况下,
dict['Key']
将返回'Params',
dict['Value']
将返回嵌套字典。

确定在修复字符串中的问题后,可以使用一个额外的“`”将dict(string)设置为有效的python dict,然后它接受嵌套dict作为值。 我还发现“false”不是一个有效的python类型,所以您必须将其设置为字符串或转换为python格式,该格式为false,大写字母为F

最后要做的是: 变量['Value']['Start']

test = dict({'Key': 'Params', 'Value': {"Shut":False,"Remove":False,"SnapshotRequired":False,"Start":"Never","End":"Never"}})
test['Value']['Start']

您需要将
标记['Value']
字符串转换为字典。是JSON吗?使用eval可能是一个安全问题。
[]
get
之间存在差异。第一个会因缺少键而引发错误,而后一个只会返回
None
。因此,“结果相同”并不总是正确的。