And*_*dyC 6 dictionary jinja2 ansible
以这个剧本 YAML:
---
- hosts: localhost
become: false
vars:
list_of_dicts:
- { key1: "cccc", key2: "dddd" }
- { key1: "aaaa", key2: "bbbb" }
tasks:
- name: debug list
debug:
msg: "{{ list_of_dicts|sort(attribute='key1')|first }}"
Run Code Online (Sandbox Code Playgroud)
dict作为过滤器链的结果,我如何访问密钥?过滤器产生一个dict看起来像这样的:
ok: [localhost] => {
"msg": {
"key1": "aaaa",
"key2": "bbbb"
}
}
Run Code Online (Sandbox Code Playgroud)
我只想key2在过滤器链中访问- 我描绘了类似的东西,...|first.key2但推断first它不是一个对象(并且同样失败first['key2'])
这肯定是重复的,但我找不到相应的答案。我希望 SO 有一个更好的搜索引擎。
您可以在 Jinja2 中对表达式进行分组,如下所示:
(list_of_dicts|sort(attribute='key1')|first).key2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5417 次 |
| 最近记录: |