我有以下字典,里面有一个列表(项目)
{
"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
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已将此输出注册在名为“输出”的变量下。如果我逐行查找项目,我可以毫无问题地访问它们
- debug:
var: output.json
Run Code Online (Sandbox Code Playgroud)
好的!
- debug:
var: output.json.data
Run Code Online (Sandbox Code Playgroud)
好的!
- debug:
var: output.json.data.devices
Run Code Online (Sandbox Code Playgroud)
好的!
- debug:
var: output.json.data.devices.items
ok: [localhost] => {
"output.json.data.devices.items": "<built-in method items of dict object at 0x7f88386c8c00>"
Run Code Online (Sandbox Code Playgroud)
当我来到项目并想要访问configurationStatus或deviceType时,我收到上面的错误。我怀疑这是由于项目列表造成的。知道如何访问和注册这些变量吗?
问题是 ' 'items是字典类上方法的名称,当使用.符号 ( foo.bar.baz) 时,属性会在键之前解析。因此您无法访问items使用此语法命名的键。
相反,试试这个:
- debug:
var: output.json.data.devices['items']
Run Code Online (Sandbox Code Playgroud)
该语法将更喜欢键。
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |