jq 的意外循环

2023-12-01

我正在尝试将 bash 中的表从 json 打印到标准输出jq:

[
    {
      "key": "name",
      "doc_count": 1000,
      "values_over_time": {
        "buckets": [
          {
            "key_as_string": "2019-05-01 11:00:00.000",
            "key": 1556708400000,
            "doc_count": 50
          },
          {
            "key_as_string": "2019-05-02 12:00:00.000",
            "key": 1556798400000,
            "doc_count": 40
          },
          {
            "key_as_string": "2019-05-02 13:00:00.000",
            "key": 1556802000000,
            "doc_count": 30
          }
        ]
      }
    }
]

With jq -r '(.[].key + " " + .[].values_over_time[][].key_as_string) + " " + (.[].values_over_time[][].doc_count|tostring)'我得到这些结果:

"name 2019-05-01 11:00:00.000 50"
"name 2019-05-02 12:00:00.000 50"
"name 2019-05-02 13:00:00.000 50"
"name 2019-05-01 11:00:00.000 40"
"name 2019-05-02 12:00:00.000 40"
"name 2019-05-02 13:00:00.000 40"
"name 2019-05-01 11:00:00.000 30"
"name 2019-05-02 12:00:00.000 30"
"name 2019-05-02 13:00:00.000 30"

额外的循环级别有一些奇怪的地方,因为我预计只会看到 3 行:

"name 2019-05-01 11:00:00.000 50"
"name 2019-05-02 12:00:00.000 40"
"name 2019-05-02 13:00:00.000 30"

Read jq文档,但无法理解以简洁的方式正确迭代的正确方法。你有什么线索吗?

JQplay代码示例


你正在扩张values_over_time两次,因此生成 3 * 3 = 9 个输出。做这样的事情:

.[] | .key + " " + (.values_over_time.buckets[] | "\(.key_as_string) \(.doc_count)")

比较这两个命令可以清楚地看到差异:

$ jq -nc '[1,2,3] | [.[]*.[]]'
[1,2,3,2,4,6,3,6,9]
$ jq -nc '[1,2,3] | [.[]|.*.]'
[1,4,9]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jq 的意外循环 的相关文章

  • 使用 C# 反序列化 JSON 以返回项目

    我有以下内容 documents keyPhrases search results Azure Search fast search indexing sophisticated search capabilities Build gre
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 使用 JaxRS 自定义 JSON 序列化

    在 Web 服务调用中 我想返回具有此 JSON 结构的对象 date 30 06 2014 price val 12 50 curr EUR 我想将此 JSON 代码映射到此 Java 结构 使用乔达时间 http www joda or
  • 在 JsonConverter 中递归调用 JsonSerializer

    我正在写一个JsonConverter要执行一些我需要在读 写时完成的转换任务 特别是 我采用现有的序列化行为 并在写入 读取时添加一些附加属性 在 的里面JsonConverter 我想利用通过的JsonSerializer实例来执行大部
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 如何循环遍历 JSON 数组?

    我有一些 JSON 代码 其中包含多个对象 MNGR NAME Mark MGR ID M44 EMP ID 1849 MNGR NAME Steve PROJ ID 88421 PROJ NAME ABC PROJ ALLOC NO 49
  • 如何外部化 json-ld 并包含在 html 文档中

    是否可以外部化 json ld 并将其包含在 html 文档中 如下所示 网上好像没有这方面的文档 你不能那样做 你应该得到json与AJAX要求 你可以轻松做到jQuery JS function getJSON data123 json
  • Anchor Cycler / 下拉菜单定期导入学校班级数据

    SO 我最近一直在研究一些 html javascript css 为我的学生创建一个在线表格来查看详细信息 分数和各种信息 但我遇到了困难 不确定如何做我正在尝试的事情去做 我将所有这些内容发布在一个线程中的原因是因为我认为其中几个可能会
  • 如何从文本文件中检索多个 JSON 对象,其中对象*不*由分隔符分隔?

    我有数千个包含多个 JSON 对象的文本文件 但不幸的是这些对象之间没有分隔符 这些对象存储为字典 其中一些字段本身就是对象 每个对象可能具有可变数量的嵌套对象 具体来说 一个对象可能如下所示 field1 field2 some valu
  • 使用 ruamel.yaml,如何使带有 NEWLINE 的变量成为不带引号的多行

    我正在生成用作协议的 YAML 其中包含一些生成的 JSON import json from ruamel import yaml jsonsample id 123 type customer account other myyamel
  • bash 脚本抱怨文件名太长

    所以我有一个脚本可以执行此操作 jq 是命令行 JSON 处理器 echo Getting LB Node IDs echo LB STATUS jq loadBalancer nodes id 最后一行的输出是 1 2 3 但是当我尝试将
  • JSON.stringify 对于大型对象来说非常慢

    我在 javascript 中有一个非常大的对象 大约 10MB 当我对其进行字符串化时 需要很长时间 因此我将其发送到后端并将其解析为一个对象 实际上是带有数组的嵌套对象 这也需要很长时间 但这不是我们在这个问题中的问题 问题 我怎样才能
  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • BigQuery 如何获取 JSON 结构中的值的总和?

    我有以下查询 SELECT JSON EXTRACT json Weights as weight from select Weights blue 1 0 purple 0 0 yellow 1 0 green 1 0 as json 返
  • 如何在 Django REST Framework 中序列化“对象列表”

    我需要一个序列化器来完成这样的事情 items 12 name item 1 66 name item 2 我应该如何声明我的序列化器才能得到这样的东西 这是否是一个有效的 JSON 还是应该如下所示 items name item 1 i
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • 解析“流”JSON

    我在浏览器中有一个网格 我想通过 JSON 将数据行发送到网格 但浏览器应该在接收到 JSON 时不断解析它 并在解析时将行添加到网格中 换句话说 在接收到整个 JSON 对象后 不应将行全部添加到网格中 应该在接收到行时将其添加到网格中
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 使用 powershell 将 XML 转换为特定的 JSON 结构

    需要有关将 xml 转换为特定 json 结构的帮助 XML 看起来像这样

随机推荐

  • Dojo:如何从值中删除逗号

    我有这个 Dijit 数字旋转器 div class extra field hide on load form action fy div
  • 使用 matplotlib 绘制时间序列 pandas 数据框时标签错误

    我正在处理包含 1 周数据的数据框 y ds 2017 08 31 10 15 00 1 000000 2017 08 31 10 20 00 1 049107 2017 08 31 10 25 00 1 098214 2017 09 07
  • 使用c#从串口部分接收消息

    我使用下面的代码使用 C 接收来自串行端口的消息 void comPort DataReceived object sender SerialDataReceivedEventArgs e if comPort IsOpen true st
  • 在 C++ 中将二进制字符串输出到二进制文件

    假设我有一个字符串 其中包含像这样的二进制文件 0110110101011110110010010000010 有没有一种简单的方法将该字符串输出到二进制文件中 以便该文件包含 0110110101011110110010010000010
  • 如何使我的 json 数组排序函数不区分大小写?

    我有以下小提琴 这是我的尝试 获取一个 json 数组 按显示名称值对数组进行排序 将排序后的数组作为列表项添加到 DOM 我的问题是 我希望能够在排序时不考虑值的大小写 我注意到它考虑了大小写并将大写值放在第一位 我相当确定这是在某个地方
  • 数据集 API“flat_map”方法对与“map”方法一起使用的相同代码产生错误

    我正在尝试创建一个管道来使用 TensorFlow Dataset API 和 Pandas 读取多个 CSV 文件 然而 使用flat map方法正在产生错误 但是 如果我使用map方法我能够构建代码并在会话中运行它 这是我正在使用的代码
  • Typescript 版本不更新

    我正在运行以下命令将 TypeScript 版本从 1 8 5 更新到 2 0 7 npm install g 打字稿 它显示为 电子邮件受保护 之后 当我尝试使用以下命令手动检查它时 tsc 版本 它告诉我 版本1 8 5 请告诉我如何将
  • 未找到“Jenssegers\Mongodb\MongodbServiceProvider”类

    我想用https github com jenssegers laravel mongodb为了使用 laravel 5 连接到 Mongodb 我已经安装了 MongoDB php 驱动程序 然后使用命令安装了 laravel mongo
  • R 中的多重 T 检验

    我的矩阵中有 94 个变量 样本 蛋白质 组 和 172 个观察值 Sample Protein1 Protein2 Protein92 Group 1 1 53 3 325 5 63 0 2 2 32 3 451 6 32 0 103 3
  • Android如何在具有图像视图和文本视图的圆形中创建这样的视图

    i want to create a view like this i have posted in screen shot in circle shape of layout with one image view with some b
  • vb 2008 网络浏览器替代品

    你好 我正在使用Visual Basic 2008 Express是否还有其他网络浏览器 例如gekoWebBrowser 但文件较少 或者是否可以更改 Visual Basic 使用的默认浏览器 从 IE 到 Opera chrome f
  • 通过 ssms 远程运行时,SSIS 作业失败,但在 SQL Server 上运行良好

    在开发盒上安装了 SQL Server 2016 并带有 SSIS 拥有一个循环遍历目录并验证 XML 文件的包 当在 SQL Server 上执行时 该作业可以通过 Integration Services 目录和 SQL Server
  • Python __getattr__ 执行多次

    我一直在努力实施 getattr 函数如下例所示 PEP 562 模块 getattr and dir 我不明白为什么这段简单的代码 lib py def getattr name print name main py from lib i
  • 在 Firebase 客户端应用程序中实现可调用的云函数

    我最近发现了Firebase 可调用函数这允许我从客户端调用类似 HTTPS 触发器的函数 并且具有 auth 支持 我很难在现有的 Firebase Web 客户端应用程序中实现这一新功能 我正在运行一些云函数 其中有一些我想将其转换为
  • 连接计算日期之间值的表

    所以我有下面两个表 Table A Date num 01 16 15 10 02 20 15 12 03 20 15 13 Table B Date Value 01 02 15 100 01 03 15 101 01 17 15 102
  • C# SMO 和 SqlEnum 引用错误

    我正在做一个 C 项目VS2013正在使用smo目的 我安装了 Install Package Microsoft SqlServer Scripting Install Package Microsoft SqlServer SqlEnu
  • Azure服务总线:如何续订锁定?

    如何更新接收队列消息处理程序上的锁 在事件处理程序上 测试消息没有更新锁定属性 Message testMessage https learn microsoft com en us dotnet api microsoft service
  • R Shiny:保留旧输出

    在闪亮的应用程序中 有没有办法保留旧的反应输出并将其与新的反应输出一起显示在应用程序中 举个例子 假设我想显示线性模型的汇总表 我逐渐向其中添加更多变量 我目前有一个checkboxGroupInput我使用该面板选择要包含在模型中的解释变
  • 字节算术:如何减去字节变量? [复制]

    这个问题在这里已经有答案了 当我尝试执行以下操作时出现错误 byte a 23 a a 1 编译器给出这个错误 Test java 8 发现可能存在精度损失 需要 int 字节 a a 1 1 个错误 铸造并不能解决错误 为什么编译器不让我
  • jq 的意外循环

    我正在尝试将 bash 中的表从 json 打印到标准输出jq key name doc count 1000 values over time buckets key as string 2019 05 01 11 00 00 000 k