问题标签 [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 投票
1 回答
982 浏览

jmespath - 如何在 JMESpath 中进行“对象投影”过滤,或者如何过滤列表?

给定以下 JSON:

我想获得具有版本 2 的应用程序的数量。对象投影

给出一个列表,

但之后如何过滤该列表?我在教程中没有找到任何示例(因为没有属性可以过滤 like [?version!=''],尽管它似乎是一个非常基本的用例

0 投票
1 回答
261 浏览

jmespath - 来自多个深度的 jmespath 元组

是否有一个 jmespath 表达式可以转换:

进入这个:

提前谢谢了!

0 投票
2 回答
1791 浏览

amazon-web-services - 使用 JMESPath 和 aws ec2 describe 实例输出多个标签值

我正在尝试从 ec2 实例描述中输出多个标签。我想要的标签值是 Name 和 aws:autoscaling:groupName。

这是我到目前为止所拥有的:

结果是:

代替:

我尝试了双管||contains但无法获得我需要的输出。另外,我不确定[1].Value获得第二个匹配标签的正确方法。

0 投票
2 回答
627 浏览

json - 在带有 Jmespath 的多选哈希中使用来自 json src doc 的键

我有一个如下所示的源 json 文档:

使用 ansible 的json_query过滤器(使用 jmespath),我想操作上面的 json,以便输出 json 文档如下所示:

似乎我应该使用某种多选散列,但我找不到将 vlan 名称(源 json 文档中的散列键,而不是散列值)放入输出 json 文档的好方法。

我不会提前知道 vlan 的名称,所以我不能硬编码vlan_internalvlan_external进入 jmespath 表达式。

我最接近的是这个 jmespath 表达式:

这会产生一个几乎有用的输出 json 文档:

如果保证 vlan 名称列表的顺序和 mac 地址列表的顺序与源 json 文档的顺序相同,这将对我有用。但是 jmespath 规范非常清楚地表明该keys()函数不需要以任何特定顺序返回结果。由于我需要将 vlan 名称与正确的 mac 地址配对,因此这对我不起作用。

有人知道用 jmespath 完成此任务的方法吗?

0 投票
1 回答
3051 浏览

python - 来自 with_items 的 Ansible 设置变量

我正在尝试为每个 ec2 实例运行一个模板任务,从其他注册变量中获取变量。实例日期存储在 ec2.tagged_instances 中,其他两个接口的 IP 信息分别存储在 eni_dc 和 eni_spoke 中。

显示 IP 提取的调试示例:

尝试使用 ec2 注册变量中的实例 id 提取 IP 的调试示例:

我得到了 ec2.tagged_instance 字典,但它似乎没有填充 inst_id。调试变量 s_query,我得到了这个:

关于如何让变量填充每次任务迭代的任何建议?

编辑:

我得到了实例 id 来填充调试单引号 vars 语句中的变量:

但是,我现在正在尝试基于此构建配置:

我得到了 eni_dc_ip 和 eni_spoke_ip 的空白。

0 投票
2 回答
1879 浏览

amazon-web-services - 如何通过 EC2 的 AWS CLI 获取所有安全组以显示在表格中

我正在尝试显示所有实例以及附加的安全组、块设备名称及其删除终止状态。我需要以表格格式显示这些数据,但我不断收到以下错误。

请帮助我了解我在这里缺少什么。

0 投票
1 回答
256 浏览

json - 在 JMESPath 查询中保留层次结构

查询某些文档时,我想在层次结构中选择项目,但要保留结构中的父名称。例如,在查询 aws 数据库成员时,我可以使用:

要从:

至:

但是我怎样才能得到以下响应:

即对于每个集群,提取DatabaseName作为成员列表的键名?

0 投票
2 回答
5342 浏览

ansible - 使用带有starts_with的Ansible中的json_query过滤器时出现JMESPathTypeError

我正在尝试在 Ansible 中过滤从 boto3 到达的结果。

当我对没有“[?starts_with(...)]”的结果使用json查询时,它运行良好,但是当添加starts_with语法时:

为了过滤结果:

我希望得到第一个 state_machine_arn 值:“state machine arn 1”

但相反,我得到了例外:

可能是什么问题?

0 投票
1 回答
491 浏览

ansible - 我如何过滤 ansible stat 存在标志?

我正在由 wpa_supplicant 创建的命名管道上执行一个简单的统计任务(Ansible 2.3.1.0):

该变量在执行后包含以下数据:

但是这个过滤器返回一个空的结果:

如果我删除[?exists]过滤器它工作正常:

我也尝试过使用==. Jmespath 已安装,我正在使用 JSON 过滤器成功查询其他值。

我错过了什么?

0 投票
1 回答
426 浏览

python - 如何在python中将参数传递给JMES路径表达式

Python 代码。如何将参数传递给 JMESpath 而不是硬编码?

我想在内容路径中传递 ext 参数来代替.md. 可能的方式是什么?