[sample.json]
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "---", "Resources": { "iamPolicy": { "Type": "AWS::IAM::Policy", "Properties": { "PolicyName": "CFn-AdminPolivy", "Roles": [ "testrole" ], "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" } ] } } }, "iamPolicy2": { "Type": "AWS::IAM::Policy", "Properties": { "PolicyName": "CFn-AdminPolivy", "Roles": [ "testrole" ], "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" } ] } } } } }
説明が難しいのですが、最終的にコマンドラインで以下のように実行させて
$ python sample.py cloudformation:* cloudformation:*
のように表示をさせたいです。
対象のJsonが、
・Resourcesの中が、可変のキー名
・可変キー名のValue構造は基本的に同じ
・可変キー名のValueの"Action"の値を一発で取得したいです。
・['Resources']['iamPolicy']['PolicyDocument']['Properties']['PolicyDocument']['Statement'][0]['Action'] ・['Resources']['iamPolicy1']['PolicyDocument']['Properties']['PolicyDocument']['Statement'][0]['Action']
辞書型の特定の値を検索する場合は、このようにアクセスすればいいのはわかったのですが、
['iamPolicy']と['iamPolicy1']は可変で、その中のActionをprintで標準出力したいのですが
ググってもシンプルな辞書型の検索方法しか見つからず、ご教授いただきたいです。
sample.py
import json json = open('sample.json', 'r') dict = json.load(json) for d in dict : d['Resources'][*]['PolicyDocument']['Properties']['PolicyDocument']['Statement'][0]['Action']
上記はイメージなのですが、改善点が全くわかないためヒント等もらえると大変助かります、
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/30 08:46
2019/05/30 08:57