jmespath を使用して JSON ドキュメントからキー (instanceId) を取得しようとしています。JSON ドキュメントは次のようになります。
targets = {'instances':
[
{'instanceId': u'i-035dd764fe1a08091', 'hostIp': '10.200.10.150'},
{'instanceId': u'i-04ed0d110fef5aef7', 'hostIp': '10.200.10.121'},
{'instanceId': u'i-0f7778162b14c954f', 'hostIp': '10.200.20.135'}
]
}
私はこれがうまくいくように感じます:
jmespath.search('instances[?hostIp=="10.200.10.150"].instanceId', targets)
しかし、空のセットを返します。IP アドレスを文字などの文字列に置き換えると、instanceId が返されます。数値の場合に値を検索するための jmespath 構文は何ですか? 最終的に、私は hostIp から instanceId を取得しようとしています。