jq可以检查逗号分隔的值数组的每个元素以检查值是否存在于JSON中吗?

丹尼尔·麦克

我有一个JSON文件,我正在使用jq从中提取数据。一个简单的用例是提取包含ID作为参数提供的任何JSON对象。

我使用以下简单脚本执行此操作:

[.[] | select(.id == $ID)]

脚本存储在单独的文件(by_id.jq)中,我使用-f参数将其传递进来

完整的命令如下所示:

cat ./my_json_file.json | jq -sf --arg ID "8df993c1-57d5-46b3-a8a3-d95066934e5b" ./by_id.jq

有没有一种方法可以仅使用jq来将逗号分隔的值列表作为参数传递给jq脚本,并遍历id并将它们与.idJSON文件中的value进行比较,结果是对象具有该身份证?

例如,如果我想通过它们的ID提取三个对象,则需要以这种方式构造命令:

cat ./my_json_file.json | jq -sf --arg ID "8df993c1-57d5-46b3-a8a3-d95066934e5b,1d5441ca-5758-474d-a9fc-40d0f68aa538,23cc618a-8ad4-4141-bc1c-0251y0663963" ./by_id.jq

杰夫·梅卡多(Jeff Mercado)

当然。尽管您需要将ID列表解析(拆分)为jq可以使用的对象,例如ID数组。然后,给定键数组,您的问题就变成了选择具有任何这些ID的对象。您可以使用这里找到的方法

$ jq --arg ID '8df993c1-57d5-46b3-a8a3-d95066934e5b,1d5441ca-5758-474d-a9fc-40d0f68aa538,23cc618a-8ad4-4141-bc1c-0251y0663963' '
select(.id | IN($ID|split(",")[]))
' ./my_json_file.json

我不确定您的输入是什么样子,但是通过使用slurping然后过滤已过滤的输入来判断,它是一个对象流。在这里没有吃草的感觉。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

检查数组值是否存在于另一个包含逗号分隔值的数组值中

来自分类Dev

如何检查数组1中每个值的顺序,是否存在于数组2中并删除?

来自分类Dev

检查值是否存在于多维数组中

来自分类Python

检查元素存在于数组中

来自分类Python

检查元素存在于数组中

来自分类Dev

如何在jquery / javascript中检查数组中的值是否存在于数组中

来自分类Dev

jQuery检查值存在于对象数组中

来自分类Python

检查值是否已存在于字典列表中?

来自分类Dev

检查值是否已存在于Firebase中?

来自分类Dev

检查列值是否存在于字典[pandas]中

来自分类Dev

检查键及其值是否存在于对象中

来自分类Dev

如何检查值是否存在于struct中?

来自分类Dev

检查值是否存在于集合或数组中,如果不存在,则将其添加

来自分类Dev

检查来自后端数组的输入字段值是否存在于数组中

来自分类Dev

Typescript:按值检查对象是否存在于数组中

来自分类Dev

检查键是否存在于数组中并替换其值

来自分类Dev

Javascript检查值是否存在于二维数组更新中否则创建

来自分类Dev

空手道表达式以检查值是否存在于数组中

来自分类Dev

检查数组值是否存在于订阅angular10中

来自分类Java

检查值是否存在于JSON对象中,以避免JSON异常

来自分类Dev

检查所有数组值是否存在于另一个数组值中

来自分类Dev

PHP数组如何检查所有数组值是否存在于其他数组中

来自分类Dev

如何在Python中检查键是否存在于值中以及键中的值

来自分类Dev

检查键是否存在于Presto值映射中

来自分类Dev

检查元素是否存在于mvc formcollection中

来自分类Dev

检查元素是否存在于Haskell的列表中

来自分类Dev

在SOAP请求中设置对象的值之前,如何检查对象是否存在于数组中?

来自分类Dev

邮递员测试,以检查响应主体的每个项目是否都存在于数组中

来自分类Dev

检查项目是否存在于数组React中

TOP 榜单

热门标签

归档