尝试使用 jq 搜索数组时,数组和字符串无法进行包含检查错误

2024-01-15

我有一个 json 文件,大致如下所示:

{
    "default": [
        {
            "name" : "Joe Bloggs",
            "email" : "[email protected] /cdn-cgi/l/email-protection"
        }
    ],
    "groups": [
        {
            "recipients" : [
                {
                    "name" : "Jane Bloggs",
                    "email" : "[email protected] /cdn-cgi/l/email-protection"
                }
            ],
            "orgs" : [  
                "Service A",
                "Service B",
                "Service C"
            ]
        },
        {
            "recipients" : [
                {
                    "name" : "Bill Gates",
                    "email" : "[email protected] /cdn-cgi/l/email-protection"
                }
            ],
            "orgs" : [
                "Service D",
                "Service E"
            ]
        },
        {   
            "recipients" : [
                {
                    "name" : "Steve Jobs",
                    "email" : "[email protected] /cdn-cgi/l/email-protection"
                }
            ],
            "orgs" : [
                "Service F",
                "Service G"
            ]
        }
    ]
}

使用 jq 我希望能够使用其中一个组织进行搜索,例如“服务 A”并仅返回收件人信息

我可以使用 jq 轻松搜索收件人,例如:

cat /path/to/file.json | jq -r '.groups[] | .recipients[] | select(.name | contains("Jobs"))' )

回来

{
  "name": "Steve Jobs",
  "email": "[email protected] /cdn-cgi/l/email-protection"
}

但是如果我尝试通过 orgs 数组进行搜索,则会出现错误:

cat /path/to/file.json | jq -r '.groups[] | select(.orgs | contains("Service A"))' )
jq: error (at <stdin>:46): array (["Service A...) and string ("Service A") cannot have their containment checked

是否可以用 jq 做我正在寻找的事情?


Instead off contains you'll need index [docs https://stedolan.github.io/jq/manual/#example51] to check if there's an index with the value Service A:

.groups[] | select(.orgs | index("Service A"))

将输出:

{
  "recipients": [
    {
      "name": "Jane Bloggs",
      "email": "[email protected] /cdn-cgi/l/email-protection"
    }
  ],
  "orgs": [
    "Service A",
    "Service B",
    "Service C"
  ]
}
JqPlay演示 https://jqplay.org/s/NJjdIgKfEB

我们可以将其扩展为仅输出recipients像这样:

.groups[] | select(.orgs | index("Service A")) | .recipients | first

我们在哪里使用first选择第一个对象.recipients大批。输出将是:

{
  "name": "Jane Bloggs",
  "email": "[email protected] /cdn-cgi/l/email-protection"
}
JqPlay演示 https://jqplay.org/s/pb9XoUCHxr
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试使用 jq 搜索数组时,数组和字符串无法进行包含检查错误 的相关文章

  • 如何通过 Json 在 C# 上使用 telegram API?

    我正在查看 telegram API 函数列表 https core telegram org method auth checkPhone https core telegram org method auth checkPhone 并想
  • 如何动态删除嵌套的json键?

    这是示例 json search facets author language value nep count 3 value urd count 1 source value West Bengal State Council of Vo
  • 在 Angular 4 中显示订阅数据

    我需要帮助来显示 Angular 4 中 api 订阅的输出 既然我写了 data data data 但它说类型对象上不存在属性数据 我该怎么做呢 我如何在浏览器中输出它 下面是我的代码和api图片 import Component On
  • Golang 结构的 XML 和 JSON 标签?

    我有一个可以根据 HTTP 请求标头输出为 JSON 或 XML 的应用程序 我可以通过将正确的标签添加到我正在使用的结构中来实现正确的输出 但我不知道如何为 JSON 和 XML 指定标签 例如 序列化以纠正 XML type Foo s
  • 如何使用 Perl 在 Unix 中获取文件创建时间

    如何使用 perl 在 unix 中获取文件创建时间 我有这个命令显示文件的最后修改时间 perl MPOSIX le print strftime d b Y H M localtime lstat 9 for ARGV file txt
  • eventSources 到事件 Json,完整日历

    我正在尝试从 eventSources 获取 json 调用到我的事件 我在 eventSources 中返回的 json 是 title Title Test start 1305841052 当我将此字符串传递到事件中时 它会正确显示日
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已
  • 使用 Python 合并 JSON 数据

    作为 Python 程序的一部分 我想合并包含相同结构数据的 JSON 对象 例如 responseStatus SUCCESS responseDetails total 5754 data id 1324651 id 5686131 我
  • 如何从命令行执行 PHP 代码?

    我想执行单个 PHP 语句 例如if function exists my func echo function exists 直接使用命令行 无需使用单独的 PHP 文件 这怎么可能 如果您要在命令行中执行 PHP 我建议您安装phpsh
  • 如何使用ansible运行询问用户输入的脚本?

    我想使用 ansible 运行 shell 脚本 但 shell 脚本需要用户输入才能成功执行 例如 我的 shell 脚本询问唯一的 idossec agent 通过ansible我可以预定义我的unique id user input
  • 插入 Mysql 表时防止 Json 排序

    在发送 AJAX 请求时 Json Content 的重新排序已经是一个已知问题 但我不知道在将 Json content 插入 JSON 类型的 Mysql 表时也会发生同样的情况 在这种情况下 mysql 服务器在保存之前也会对其内容进
  • 如何解析 Newtonsoft JSON 中的 TimeSpan 值

    我想解析 JSON 字符串并使用token Type用于检测类型值的属性JTokenType TimeSpan 我无法弄清楚如何在输入字符串中表达 TimeSpan 所有内容似乎都被解释为 JTokenType String var tim
  • Rails 可以自动解析从表单 text_field 收到的日期时间吗

    Rails 可以自动解析从表单的文本字段接收到的日期时间吗 in view div class field br div in controller params product updated at yesterday 目前我收到以下错误
  • 按日期对 JSON 进行排序

    我知道这一定相对简单 但我有一个 JSON 数据集 我想按日期排序 到目前为止 我每次都会遇到问题 现在我将日期存储为this lastUpdated 如果有帮助的话 我可以访问 jquery 但我意识到 sort 是本机 JS 提前致谢
  • 如何按文件大小对查找结果进行排序

    如何按文件大小对 find 命令的结果进行排序 我试图对这个 find 命令的结果进行排序 find src type f print0 我不需要目录的大小 我需要仅按大小排序的文件相对路径 这是如何做的using find command
  • shell中基于正则表达式的颜色突出显示输出

    我想知道是否可以用颜色突出显示与某些字符串匹配的 shell 命令的输出 例如 如果我运行 myCommand 输出如下 gt myCommand DEBUG foo bar INFO bla bla ERROR yak yak 我希望所有
  • 如何将多个数据系列导入 Highcharts

    以下代码有效 var options1 chart renderTo container1 series getJSON tokyo jsn function data options1 series 0 data data var cha
  • 如何通过 SSH 启动进程,使其保持运行?

    我有三个文件 Monitor sh 它启动 python 脚本 sudo python webCheck sudo python apiCheck 以及其他的 webCheck 和 apiCheck 它应该在我关闭终端后在后台运行 它无限循
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • 使用 JSON 传递 HTML

    我正在使用 JSON 将数据传递到 iPhone 和 iPad 数据的一个字段是 HTML 问题是编码 这是我得到的回复 gt GadgetHTML strong Hello strong gt from Catworld br n img

随机推荐

  • 使用 ng-switch 时如何防止控制器重新加载

    在此示例中 使用 ng switch 我可以在不同视图之间切换 每个视图都分配有一个控制器 我在网上放了一个快速示例 http jsfiddle net FBHjZ 1 http jsfiddle net FBHjZ 1 看起来每次我切换视
  • ASP.NET MVC 项目和 App_Code 文件夹

    为什么 VS 解决方案资源管理器的 添加 ASP NET 文件夹 子菜单中没有选择 App Code 我知道您可以通过重命名新文件夹来手动创建一个新文件夹 但这里的理由是什么 这不是你应该放置 实用程序 或 服务层 类型类的地方吗 关于 M
  • 没有为类型定义序列化程序:System.Windows.Media.Media3D.Point3D

    我正在尝试使用 protobuf 网络序列化一些数据 在序列化过程中 我收到一条错误 指出没有为 Point3D 类型定义序列化 我发现一个类似的问题 但仍然无法实施和解决 链接如下 没有为类型定义序列化器 System Drawing C
  • 如何使用python将流上传到AWS s3

    我想创建一个从 S3 获取 zip 文件 可能包含 csv 文件列表 的 lambda 将其解压缩并上传回 s3 由于 lambda 受到内存 磁盘大小的限制 我必须将其从 s3 流式传输并返回到其中 我使用 python boto3 请参
  • 具有分段文件上传功能的 Spring REST API 不适用于可选参数

    我正在使用Spring框架 但不太熟悉它 我正在编写一个 REST API 特别是一个处理文件上传的 POST 方法 其中文件是可选的 我尝试简化该方法 但仍然存在问题 这是我所拥有的 RequestMapping method Reque
  • 如何将 javascript 转换为 LLVM IR?

    是否有 JavaScript 的 LLVM 后端 如果没有 其他将动态语言 类似于 javascript 转换为 LLVM IR 的工具也可以 因为我正在编写一个动态语言编译器 这样的工具可以帮助我找出一些功能是如何实现的 FTL JIT
  • R - “princomp”只能与比变量更多的单位一起使用

    我正在使用 R 软件 R Commander 对我的数据进行聚类 我的数据有一个较小的子集 包含 200 行和大约 800 列 尝试 kmeans 聚类并在图表上绘制时出现以下错误 princomp 只能与比变量更多的单位一起使用 然后我创
  • C# 中单元测试的生命周期是怎样的

    完整事件的顺序是什么MSTest在 Visual Studio 中用 C 运行单元测试 Ctrl R A 到目前为止我的想法是 1 跑步 AssemblyInitialize 2 随机运行 ClassInitialize 3 运行班级 Te
  • xpath 轴中的命名空间是什么

    我正在研究 XPath 轴 我能够理解以下所有轴 祖先 祖先或自我 属性 孩子 后裔 后代或自己 下列的 以下兄弟姐妹 父母 前 前兄弟 自己 我唯一无法理解的轴是 命名空间 谁能给我一个很好的例子并理解 命名空间 的实际作用 例子 Ope
  • 尝试更新 Twitter 状态时期望失败

    我似乎无法弄清楚这一点 无论我做什么 我都会收到 417 Expectation failed 错误 我看过的所有地方都说我需要删除 HttpWebRequest 的 Expect 标头 设置静态属性ServicePointManager
  • 通过我的程序路由所有数据包?

    我想构建一个通过我的应用程序路由所有网络流量 不仅仅是 HTTP 的应用程序 基本上 我想要的是给予我的应用程序的所有流量 它们永远不应该到达实际目标 我的应用程序应该处理这个 然后将其转发到服务器 输入也是如此 只是相反 服务器 gt 应
  • 如何根据 Google 表格中的单元格内容发送短信

    这是我上一个问题的后续如何循环 onEdit 函数从 Google 表格中的多行发送电子邮件 https stackoverflow com questions 56533837 how to loop an onedit function
  • PHP cURL 超时被忽略

    Using curl setopt 我已经设定CURLOPT CONNECTTIMEOUT MS到 1000 1 秒 并已设置另一个脚本休眠 5 秒 然后响应 200 OK 使用sleep 我称之为测试目的 我的脚本始终等待响应 即使它应该
  • 私有方法参数

    我有这个带有可选参数的方法 public static Test String connection Int32 retryInfiniteLoopGuard 0 有没有办法以某种方式标记retryInfiniteLoopGuard as
  • Sharepoint 2010 沙盒解决方案错误

    我对 Sharepoint Server 2010 沙箱解决方案有疑问 当我写作时 SPSite site new SPSite http win 5g8rm9qpjrp SPWeb web site OpenWeb 这两行代码 我有这样的
  • Erlang Linux 信号处理

    是否可以通过 Erlang 中的处理程序捕获 Linux 信号 例如 SIGUSR1 无需求助于 C 语言编写的驱动程序 不是真正的答案 2001年有人问 有没有人有unix的例子 Erlang 中的信号处理 我会 我喜欢制作一个负载均衡器
  • 从 TRY CATCH 内的单个语句捕获多个错误消息

    我正在对多个列和表运行一批语句 并希望检索有关发生的错误的信息 该语句是类型更改 varchar 到 nvarchar 当它失败时 它似乎返回 2 个错误 消息 5074 级别 16 状态 1 第 1 行 对象 DF XXX YYY 为 取
  • JQGrid 日期格式

    我正在使用 jQuery JQGrid 插件版本 3 8 2 并且在尝试弄清楚如何格式化日期 时间以进行显示时遇到问题 日期 时间采用 ISO 长格式 即 2011 02 16T14 46 43Z 我希望它以 mm dd yy H m s
  • 如何使用可序列化将类对象存储到内部内存存储中?

    我需要将此对象存储到手机的内部存储器中 并且我有
  • 尝试使用 jq 搜索数组时,数组和字符串无法进行包含检查错误

    我有一个 json 文件 大致如下所示 default name Joe Bloggs email email protected cdn cgi l email protection groups recipients name Jane