【发布时间】:2015-08-11 18:27:47
【问题描述】:
我有以下 json 输出:
{
"code":0,
"message":"success",
"data":[
{
"group_id":"12345678901234567890",
"display_name":"GROUP",
"description":"Group 1",
"monitors":[
"12345678901234567890",
"12345678901234567890",
"12345678901234567890"
]
},
{
"group_id":"12345678901234567890",
"display_name":"KK-GROUP1",
"description":"KK Group 1",
"monitors":[
"12345678901234567890",
"12345678901234567890",
"12345678901234567890"
]
},
{
"group_id":"12345678901234567890",
"display_name":"KK-GROUP2",
"description":"KK Group 2",
"monitors":[
"12345678901234567890",
"12345678901234567890",
"12345678901234567890"
]
},
{
"group_id":"12345678901234567890",
"display_name":"KK-GROUP3",
"description":"KK Group 3",
"monitors":[
"12345678901234567890",
"12345678901234567890",
"12345678901234567890"
]
}
]
}
我有这个定义,它应该遍历从 pycurl 命令接收到的 JSON 输出,并查找所有以 KK 开头的组,例如,从各个监视器字段中的所有 ID 创建一个列表以添加到另一个部分我写的脚本。在上面的输出中,它应该提供 9 个 ID(每组 3 个)......无论出于何种原因,它只获取前 3 个监视器 ID。
def ReturnedMonitors():
listOfChecks = json.loads(connectSite('GET',''))
for i in listOfChecks['data']:
while i['display_name'].startswith(options.clusterName.upper()):
return i['monitors']
此的输出将被传递到以下内容:
for monitor in ReturnedMonitors():
putData = 'activate/' + monitor
print "Activated: " + modifyMonitors('PUT',putData)
modifyMonitors 是另一个将发布到站点的 pycurl 定义。
【问题讨论】:
标签: python json loops while-loop