问题标签 [jmespath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
918 浏览

jmespath - 将属性与数字文字进行比较

我正在尝试查找所有具有 2 个内核的虚拟机:

由于我怀疑az命令有错误,我直接安装了jp,但它也给出了一个错误:

jmespath 规范中,看起来我必须使用反引号`字符,但它没有给出错误,而是没有结果:

这是我试图过滤的(缩写)返回的 json:

(我混淆了尺寸,因为我不想被 MS 起诉分享商业机密或其他东西)

0 投票
3 回答
11253 浏览

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

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

我想将以上内容简化为仅包含包的字典,这些包latest的值中包含 -attribute。

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

例如,如果我将上述字典“管道”到json_query('*.latest')中,我会得到实际最新版本的列表

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

有希望吗?

0 投票
2 回答
6062 浏览

ansible - 使用过滤器表达式时 Ansible json_query 输出列表

我在 OSX 上运行 ansible 2.4.0。以下剧本...

产生以下输出:

我的问题是,为什么在第二个调试任务中是列表([])中的输出?

0 投票
1 回答
6898 浏览

python - 将 JMESpath 多选过滤器的结果元素与变量连接起来

我在 Ansible(YAML 格式)中有以下变量结构:

我需要将它转换为users看起来像这样的平面数组(注意1每个中的name):

我使用Jinja过滤器json_query(在 Python 中内部使用JMESPath查询语言),如下所示:

它返回上面提到的数组,但1当然没有名称。有什么方法可以用一个简单的字符串实现所需的连接吗?由于文档和示例,我尝试了一些变体,但没有运气,即:

简单的 Ansible 剧本可在pastebin获得

0 投票
1 回答
6815 浏览

json - 如何获取 JMESPath 中的对象键列表

我的谷歌搜索技能让我失望了。如何获取 JMESPath 中所有 JSON 对象键的列表?

即如何去:

至:

0 投票
1 回答
174 浏览

json - 输出带有排序内容的整个 JSON 文档

是否可以对 json 文档的特定数组进行排序并输出带有排序内容的整个文档,否则不会受到影响?

例如,如果我有这样的事情:

我想找回这个:

我见过使用排序示例jqJMESPath但只见过它们输出正在排序的部分,而不是带有排序部分的整个文档。寻找有关此事的指导,并对任何可行的解决方案感到满意。

这是我用来对有效的数组进行排序的| jq '.Statement[].Principal.AWS|sort'方法,但我想回到按原样格式化的整个文档的上下文中。

0 投票
1 回答
2281 浏览

json - jmespath 展平多个哈希值

理想情况下,我想编写一个返回平面列表输出的查询:["abc", "bcd", "cde", "def"]来自以下 JSON 示例:

我能得到的最接近的是l_h_m[].n.*将我想要的内容作为未展平的列表返回:

jmespath 允许您展平列表列表。当源 json 以这种方式构建时,查询l_l[]和两者都返回扁平化结果。l_h_l[].n[]

0 投票
3 回答
4811 浏览

json - 在 Ansible 中过滤 JSON 文档

我有来自 GitHub 存储库的 JSON 回复,其中包含某个版本的可能下载列表(assets文档中的数组)。

我想在资产以 . 结尾时获取浏览器下载 URLnamex64.AppImage

在 Ansible 中,过滤器是构建在 apon 上的,jmespath并且使用它的终端工具,我可以使用以下表达式查询 url:

使用以下 playbook,查询 JSON 文档并将其存储在json_reply变量中。

但是,执行此操作会出现以下错误:

数组latest-mac.json中的第一个对象在哪里。assets

如何让 Ansible 遍历所有assets数组并应用我的过滤器?

PS:

如果我直接指定它而不是查询是否name以单词结尾,则过滤器起作用:


JSON 示例:

0 投票
2 回答
622 浏览

amazon-web-services - 没有 VpcId 的 aws cli 描述实例

我想aws ec2 describe-instances寻找任何没有VpcId属性的实例(ec2-classic 中的那些)

如何使用标志或 JMESPath 表达式返回 ec2-classic 实例以--query获得没有VpcId?

0 投票
1 回答
97 浏览

json - How to create this json projection on JMESPath?

is this doable with JMESPath?

i want to transform this

to