【问题标题】:json_query in ansible to find the key value and print the other key in the json objectansible中的json_query查找键值并打印json对象中的另一个键
【发布时间】:2020-09-24 09:10:20
【问题描述】:

这是我想在 ansible 中使用 keyvalue=65060 的 json_query 搜索并打印相应的 Neighbor 的原始数据,任何人都可以帮忙。

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

   - name: data manipulate
      debug: msg="{{ msnjson | json_query(msnquery) }}"
      vars:
        msnquery: "[*].AS"

但这只是显示所有 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"
  }
]

【问题讨论】:

    标签: ansible ansible-2.x json-query


    【解决方案1】:

    试试

       - name: data manipulate
          debug: msg="{{ msnjson | json_query(msnquery) }}"
          vars:
            msnquery: "[?AS=='65060'].Neighbor"
    

    【讨论】:

    • 太棒了,它奏效了。我在想首先我们需要消除列表,然后匹配密钥。非常感谢,不胜感激!
    猜你喜欢
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 2018-04-12
    • 2017-04-30
    • 2016-05-13
    • 2013-05-04
    相关资源
    最近更新 更多