gpt4 book ai didi

ansible - 如何在 Ansible 中访问字典中的列表?

转载 作者:行者123 更新时间:2023-12-04 07:51:34 26 4
gpt4 key购买 nike

我有以下字典,里面有一个列表( items )

{
"json": {
"data": {
"devices": {
"items": [
{
"configurationStatus": "SYNCED",
"conflictDetectionState": "IN_SYNC",
"connectivityState": "ONLINE",
"deviceType": "ASA",
"highAvailability": "OFF",
"interfaces": null,
"specificDevice": {
"namespace": "asa",
"type": "configs",
"uid": "12313131231",
"vpnId": null
},
"uid": "1231312313"
}
],
"metadata": {
"count": 1
}
}
}
}
}
我已经在一个名为 output 的变量下注册了这个输出。如果我一行一行地去直到 项目 我可以毫无问题地访问它们
    - debug:
var: output.json

好的!
    - debug:
var: output.json.data
好的!
    - debug:
var: output.json.data.devices
好的!
    - debug:
var: output.json.data.devices.items

ok: [localhost] => {
"output.json.data.devices.items": "<built-in method items of dict object at 0x7f88386c8c00>"
当我来到项目并想要访问 configurationStatus 或 deviceType 时,我收到上述错误。我怀疑是由于项目列表。知道如何访问和注册这些变量吗?

最佳答案

问题是items是字典类上的方法名,当使用 . 时符号( foo.bar.baz ),属性在键之前解析。因此您无法访问名为 items 的 key 使用这种语法。
相反,试试这个:

    - debug:
var: output.json.data.devices['items']
该语法将更喜欢键。

关于ansible - 如何在 Ansible 中访问字典中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66945274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com