1

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 を取得しようとしています。

4

2 に答える 2