jmespathを使用してJSONドキュメントからキー(instanceId)を取得しようとしています。 JSON文書は次のようになります。値が数値の場合、jmespathを使用してキー/値ペアから値を取得します。
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を取得しようとしています。