json\在ansible中查询以查找键值并打印json对象中的另一个键

json\在ansible中查询以查找键值并打印json对象中的另一个键,ansible,ansible-2.x,json-query,Ansible,Ansible 2.x,Json Query,这是我想用json_查询在ansible中搜索的原始数据,keyvalue=65060,并打印相应的邻居,请任何人帮忙 到目前为止,我得到了这个: - name: data manipulate debug: msg="{{ msnjson | json_query(msnquery) }}" vars: msnquery: "[*].AS" 但这只是将所有显示为键,但我正在查找值为65060的键和相应的邻居

这是我想用json_查询在ansible中搜索的原始数据,keyvalue=65060,并打印相应的邻居,请任何人帮忙

到目前为止,我得到了这个:

   - name: data manipulate
      debug: msg="{{ msnjson | json_query(msnquery) }}"
      vars:
        msnquery: "[*].AS"
但这只是将所有显示为键,但我正在查找值为65060的键和相应的邻居键

[
  {
    "AS": "65060",
    "InQ": "0",
    "MsgRcvd": "258259",
    "MsgSent": "120410",
    "Neighbor": "99.99.99.5",
    "OutQ": "0",
    "Spk": "0",
    "StPfxRcd": "1",
    "TblVer": "2241",
    "UpDown": "2w0d"
  },
  {
    "AS": "64600",
    "InQ": "0",
    "MsgRcvd": "281828",
    "MsgSent": "120498",
    "Neighbor": "192.168.100.1",
    "OutQ": "0",
    "Spk": "0",
    "StPfxRcd": "33",
    "TblVer": "2241",
    "UpDown": "12w5d"
  },
  {
    "AS": "64600",
    "InQ": "0",
    "MsgRcvd": "281867",
    "MsgSent": "120498",
    "Neighbor": "192.168.100.2",
    "OutQ": "0",
    "Spk": "0",
    "StPfxRcd": "33",
    "TblVer": "2241",
    "UpDown": "12w5d"
  },
  {
    "AS": "64600",
    "InQ": "0",
    "MsgRcvd": "258516",
    "MsgSent": "120499",
    "Neighbor": "192.168.100.4",
    "OutQ": "0",
    "Spk": "0",
    "StPfxRcd": "19",
    "TblVer": "2241",
    "UpDown": "5w6d"
  }
]
试一试

-名称:数据操作
调试:msg=“{msnjson|json_查询(msnquery)}”
变量:
msnquery:“[?AS=='65060'].邻居”

太棒了,成功了。我在想,首先我们需要删除列表,然后匹配键。非常感谢,谢谢!