问题标签 [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 回答
2275 浏览

json - 使用 jmespath 更改 JSON 密钥

是否有任何理由使用 jmespath 将 JSON 密钥更改或转换为其他内容?

例如,如果我有这样的 JSON:

如何将“topic_id”更改为简单的“id”?所以结果会是这样的:

我知道可以使用任何语言来完成,但是每种语言的解决方案都会有所不同。我想有一个使用 jmespath 的不可知论的解决方案。

根据我在 jmespath 文档中阅读的内容,它可用于通过过滤现有 JSON 来创建新 JSON。可以在我的情况下使用相同的技术吗?

0 投票
2 回答
1371 浏览

javascript - JMESPath 中的动态/计算键?

从具有计算属性Array.reduce / Array.map / Object.assign 的ES2015 开始,您可以执行以下操作:

......并得到:

我如何从 JMESPath 获得这个?


试图:

0 投票
1 回答
4536 浏览

ansible - 带有 json_query 的 ansible 过滤器

我写这个:

它打印每个主机。但这不会过滤主机:

它只是打印一个空列表,而我确定该主机存在。这是相关的库存行:

难道我做错了什么?

0 投票
2 回答
904 浏览

ansible - Ansible - 按前缀过滤主机组

我正在尝试获取 Ansible 中具有特定前缀的主机组的名称。现在,我正在尝试将模板任务委派给具有前缀“config_”的主机组下的服务器。

我正在使用json_query它使用 JMESPath 表达式。然而,查询不正确。谁能猜出我错过了什么?

错误信息:

0 投票
2 回答
4421 浏览

amazon-web-services - AWS CLI - 如何查询在特定日期之后创建的快照

我正在尝试查询在特定日期之后创建的快照,但它没有返回任何结果。我正在尝试的查询如下:

如果我删除 --query 部分,所有快照都会返回,所以我知道这与查询有关。

我尝试检查JMESPath 文档,但关于日期操作的内容并不多。我还尝试在此处复制示例中的语法,但无济于事。

谢谢,

0 投票
1 回答
192 浏览

python - 在 Python 中过滤 JSON 文档,保持原始关键路径结构

我想知道是否有一个现有的 Python 库,用于通过保留文档原始结构的完整密钥路径过滤 JSON 文档。这是一个例子:

输入

期望的输出

我找到的最接近的解决方案是jmespath MultiSelect Hash操作;但是,我认为它不能创建完整的层次结构。例如:

jmespath.search("{a: a.b, f: f[1]}", d)产量{'a': 'c', 'f': {1: 1}}

但它不允许a.b作为 keyval-expr 的标识符,即{a.b: a.b}无效。一种解决方案是使用 MultiSelect Hash 和代码来为每个关键路径生成缺失的结构。我想知道是否有更优雅的解决方案。

0 投票
1 回答
230 浏览

javascript - 通过 Angular 2 中的 JMESpath 进行输入验证

例如,我有以下输入:

在此输入字段中是以下输入有效saleschannel.totalamount > 15。目前我用jmespath.search({ } , rule['condition']).

所以我有以下代码部分

问题是,如果我的输入不是导致语法错误的有效原因,我会收到控制台错误。因此,对于我来说,[class.invalid]="XXX"我需要一种方法来捕获错误,它可以为我检测到输入无效。

我能做些什么来实现这一点,或者有比我的尝试更好的方法吗?

0 投票
2 回答
1273 浏览

javascript - How can I filter javascript objects with an expression that has array in it with jmesPath?

I have an array of users and each user has couple of roles. The example of the array is shown below.

I'm trying to get all the users who have an Admin role by using jmesPath. I've tried [?roles[].name=='Admin'] but this is giving a null value. Is is possible to do this with jmesPath, and if yes can you give me an expression for this example?

0 投票
1 回答
2152 浏览

javascript - Angular 2使表单无效

我有以下示例代码:

组件.html

组件.ts

所以基本上我检查文本字段上的输入是否是有效的json表达式。如果我发现错误,我想让表单无效。

有没有办法做到这一点?

0 投票
5 回答
6380 浏览

aws-cli - 使用 awscli --query 返回每个实例 ID 一行的值的文本列表

我在 AWS 中有具有相同 ReservationId 的实例(它们同时启动并且它们的 AmiLaunchIndex 为 0 到 x )。我的目标是生成每个实例一行的文本输出,例如这个。为了清楚起见,我添加了列标题。

在 jmespath gitter 频道中,建议使用 map 函数来完成此操作,但我不知道如何使用该函数。有什么建议么?