###実現したいこと
以下のコード(Test.py)で出力結果(json)を特定の文字でフィルタした結果を変数にしたいです。
https://teratail.com/questions/107044
上記を参考にしていますが、もう少しシンプルにできないでしょうか?
Test.py
Python3
1import os 2import requests 3import pprint 4 5os.environ['HTTP_PROXY'] 6os.environ['HTTPS_PROXY'] 7 8url = 'API URL' 9api = 'APIキー' 10headers = {'X-API-KEY' : api} 11mName="test-monitor001" 12 13def main(): 14 r = requests.get(url, headers=headers) 15 x = r.json() 16 for m in x["monitors"]: 17 if m["type"]=="host": 18 if m["metric"]==mName: 19 print(m["id"]) 20 21if __name__== '__main__': 22 main()
print(m["id"])の出力結果(これを変数にしたいです。)
3QXJNu7GjKs
###フィルタしていない状態のAPI結果
{'monitors': [{'critical': 1500,
'duration': 3,
'excludeScopes': [],
'id': '3QXEZcrXFMb',
'isMute': False,
'maxCheckAttempts': 2,
'metric': 'custom.ping-H15.0',
'name': 'custom.ping-H465465',
'operator': '>',
'scopes': [],
'type': 'host',
'warning': 200},
{'critical': 200,
'duration': 3,
'excludeScopes': [],
'id': '3QXJNu7GjKs',
'isMute': False,
'maxCheckAttempts': 2,
'metric': 'test-monitor001',
'name': 'test-monitor001',
'operator': '>',
'scopes': [],
'type': 'host',
'warning': 100},
{'excludeScopes': [],
'id': '3QPXmoYtNm9',
'isMute': False,
'name': 'connectivity',
'scopes': [],
'type': 'connectivity'}]}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。