gpt4 book ai didi

dictionary - 如何在 Jinja 中过滤字典?

转载 作者:行者123 更新时间:2023-12-04 00:03:41 27 4
gpt4 key购买 nike

我有一个包的字典,包名是键,一些细节的字典是值:

{
"php7.1-readline": {
"latest": "7.1.9-1+ubuntu14.04.1+deb.sury.org+1",
"origins": [
"ppa.launchpad.net"
],
"version": "7.1.6-2~ubuntu14.04.1+deb.sury.org+1",
"www": "http://www.php.net/"
},
"php7.1-xml": {
"latest": "7.1.9-1+ubuntu14.04.1+deb.sury.org+1",
"origins": [
"ppa.launchpad.net"
],
"version": "7.1.6-2~ubuntu14.04.1+deb.sury.org+1",
"www": "http://www.php.net/"
},
"plymouth": {
"version": "0.8.8-0ubuntu17.1"
},
....
}

我想将上述内容简化为仅包含 latest 的包的字典。 -属性在他们的值(value)。

看起来像 json_query是要使用的过滤器,但我无法弄清楚语法。那里的例子似乎都在字典列表上操作,而不是相同的字典......

例如,如果我将上面的字典“管道”成 json_query('*.latest') ,我得到了实际最新版本的列表:
[
"7.1.9-1+ubuntu14.04.1+deb.sury.org+1",
"7.1.9-1+ubuntu14.04.1+deb.sury.org+1",
"7.1.6-2~ubuntu14.04.1+deb.sury.org+1"
]

我怎样才能得到整个字典元素呢?

有希望吗?

最佳答案

dict2items过滤器 added in December 2017 ,可以使用 native 功能:

- debug:
msg: "{{ dict(pkg | dict2items | json_query('[?value.latest].[key, value.latest]')) }}"

结果:
"msg": {
"php7.1-readline": "7.1.9-1+ubuntu14.04.1+deb.sury.org+1",
"php7.1-xml": "7.1.9-1+ubuntu14.04.1+deb.sury.org+1"
}

关于dictionary - 如何在 Jinja 中过滤字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46306363/

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