很抱歉提出重复的问题,但我被困在这里。在我的代码中,变量包含以下数据:
{
"AlarmName":"ZDR ALARAM - 404 - ERROR",
"AlarmDescription":"This will check the 404 Errors in ZDR server",
"Trigger":{
"MetricName":"ZDR4dor",
"Namespace":"ZDRLdics",
"StatisticType":"Statistic",
"Statistic":"SUM",
"Unit":null,
"Dimensions":[ ],
"Period":60,
"EvaluationPeriods":1,
"ComparisonOperator":"GreatergrfdgsThreshold",
"Threshold":0,
"TreatMissingData":"",
"EvaluatxcbleCountPercentile":""
}
}
我需要AlarmName
。我使用var['AlarmName']
,但它显示错误索引必须是整数而不是字符串。当我使用var[0]
时,它会显示输出
的 {
仅
对象类型为<type 'unicode'>
如何获得密钥&#39; AlarmName&#39; 的确切值?
答案 0 :(得分:1)
目前,您的var
只是一个包含该信息的(unicode)字符串。您需要解析它,因此它是一个字典对象,可以处理项目访问。最简单的方法是使用json
模块,因为您的字符串似乎是有效的json
对象:
import json
var = """
{
"AlarmName":"ZDR ALARAM - 404 - ERROR",
"AlarmDescription":"This will check the 404 Errors in ZDR server",
"Trigger":{
"MetricName":"ZDR4dor",
"Namespace":"ZDRLdics",
"StatisticType":"Statistic",
"Statistic":"SUM",
"Unit":null,
"Dimensions":[ ],
"Period":60,
"EvaluationPeriods":1,
"ComparisonOperator":"GreatergrfdgsThreshold",
"Threshold":0,
"TreatMissingData":"",
"EvaluatxcbleCountPercentile":""
}
}
"""
var = json.loads(var)
print(var['AlarmName'])
# ZDR ALARAM - 404 - ERROR