如何从包含值的 JSON 对象的数组中删除元素

2023-12-01

请注意,这篇文章已标记为jq,我根本不想用 javascript 来做到这一点。

我有一个对象,其字段之一是数组。我想从对象的数组中删除与条件匹配的元素,但保留该对象。我环顾四周,只能发现返回的片段just现在恰好有较少项目的数组。

这是一个例子:

{
  "foo": "bar",
  "events": [
    {
      "id": 1,
      "msg": "starting"
    },
    {
      "id": 2,
      "msg": "working on it"
    },
    {
      "id": null,
      "msg": "done"
    }
  ]
}

我想返回以下信息:

{
  "foo": "bar",
  "events": [
    {
      "id": 1,
      "msg": "starting"
    },
    {
      "id": 2,
      "msg": "working on it"
    }
  ]
}

注意:以防万一这会影响答案,我真的只对最后一个元素感兴趣。我计划在以下管道阶段构建一个新对象,例如:

jq '$answer | {bar:.foo, event: .events[-1].msg}`

我都尝试过

select(.events[].id != null)

and

del(.events[], select(.id == null)))

没有运气。


我想你可能正在寻找jq过滤如下。表达方式.events[] | select(.id == null)返回对象所在的键id值为空并且del()删除该键/值对。

jq 'del(.events[] | select(.id == null))'

作为旁注,如果您只想通过索引删除元素,您可以使用如下所示。下面的示例从索引 2 中删除元素,数组实际上从 0 开始。

jq 'del( .events[2] )'

但请记住,对于您的原始问题,不建议使用这种方法,因为您不知道键的哪个索引将包含空值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从包含值的 JSON 对象的数组中删除元素 的相关文章

  • Elasticsearch:预期的字段名称,但得到了 START_OBJECT

    我一直在尝试运行以下查询 但每次运行时都会收到以下错误 nested ElasticsearchParseException Expected field name but got START OBJECT field value fact
  • 尝试使用 Javascript 解决对称差异

    我正在尝试找出对称的解决方案 使用 javascript 完成以下任务的差异 目标 接受未指定数量的数组作为参数 保留数组中数字的原始顺序 不删除单个数组中数字的重复项 删除数组中出现的重复项 因此 例如 如果输入是 1 1 2 6 2 3
  • 我可以让这个 Ruby 代码更快并且/或使用更少的内存吗?

    我有一个Array of StringRuby 中的对象由如下单词组成 animals cat horse dog cat dog bird dog sheep chicken cow 我想将其转换为另一个Array of String对象
  • 需要解释搜索最小大和的算法

    我正在解决 Codility 问题作为练习 但无法回答其中一个问题 我在互联网上找到了答案 但我不明白这个算法是如何工作的 有人可以引导我逐步完成它吗 这是问题 You are given integers K M and a non em
  • 如何舍入、取整、取整、截断

    如何对 jq jq 1 5 1 a5b5cbe 中的数字进行舍入 取整 取整和截断 例如 与 mass 188 72 我想 mass 188 有地板 mass 189 与天花板和圆形 舍入示例 5 52 gt 6 5 50 gt 5 or
  • 如何使用 jq 从多个嵌套数组中提取键

    SETUP 我试图弄清楚 jq 过滤器是如何工作的 但在找出嵌套数组时遇到了困难 使用下面的数据我无法做出平的 5 键输出 我可以得到 1 个键和 4 个空值 或者 4 个键和 1 个空值 但不能得到所有 5 个键 1 个键 4 个空值 R
  • 复杂对象MVC3的JSON序列化

    我有一个问题 我似乎不知道如何序列化类型的对象 public class SchedulingCalendarMonth public List
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 使用正则表达式搜索 Ruby 数组

    你好 我有一个小的 ruby 函数 它可以分割出一个 Ruby 数组 如下所示 def rearrange arr from to sidx arr index from eidx arr index to arr sidx arr sid
  • Arrayadapter.getcount 空点异常

    我得到以下堆栈跟踪 下面是完整的副本 这几乎没有或根本没有表明大型应用程序中出现错误时的位置 并且用户反馈除了 崩溃 之外什么也没有 我能做些什么来进一步查明这一点吗 java lang NullPointerException at an
  • 合并 JavaScript 数组中的重复项

    我有一个愚蠢的问题 乍一看似乎很容易解决 但结果却很棘手 我有一个对象数组 每个对象都有两个属性 id 和 value id 2 value 10 id 4 value 3 id 2 value 2 id 1 value 15 我想编写一个
  • 从 JSON 响应中删除元素

    我有一个 JSON 字符串 我希望能够从中删除一些数据 以下是 JSON 响应 ResponseType VirtualBill Response BillHeader BillId 7134 DocumentId MN003 052206
  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • 在 C 中通过引用传递数组

    我是 C 新手 我有一个疑问 由于 C 函数创建其参数的本地副本 我想知道为什么以下代码按预期工作 void function int array array 0 4 array 1 5 array 2 6 int main int arr
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 如何将 UDF 中的结构或类数组返回到数据帧列值中?

    d ID 1 pID 1000 startTime 2018 07 02T03 34 20 endTime 2018 07 03T02 40 20 ID 1 pID 1000 startTime 2018 07 02T03 45 20 en
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012

随机推荐

  • 在程序中创建表

    我创建了表 Risiko 它应该是动态的 我以为它会那么简单 但事实并非如此 我该怎么解决呢 我做错了什么 CREATE OR REPLACE PROCEDURE TABLERISIKO IS BEGIN drop table risiko
  • .htaccess 域名重定向

    我有一个服务器 有 3 个域都指向它 所有域都位于同一网站上 www domain1 com www domain2 com www domain3 com 如何使用 htaccess 将 www domain3 com 重定向到 www
  • 音频文件无法在设备上运行,但可以在模拟器上运行

    我正在 iPhone 应用程序中播放音频 但问题是它在模拟器上工作正常 但在设备上不起作用 这是我的代码 当此代码运行时 它只是关闭应用程序 NSString thePath NSBundle mainBundle pathForResou
  • 在 Matlab 中绘制正方形曲面

    如何在中绘制正方形曲面Matlab 更准确地说 我想绘制一个表面值为 0 5 的正方形 该正方形位于 X 1 到 X 1 和 Y 2 5 到 3 5 处 我尝试了以下方法 X Y meshgrid 3 5 5 3 5 Z zeros 15
  • 如何更改TOMCAT使用的Java版本?

    我的系统上安装了 Java 1 6 和 Tomcat 5 5 但是 Tomcat 5 5 访问 Java 1 5 因此结果我收到错误Bad version number in class file使用 JSP 执行 java 代码时 如何将
  • Flutter - 允许用户输入主题标签

    你好 Flutter 新手 我想让我的用户输入一些链接到该条目的主题标签 这些标签将进入 Firestore For the hashtag I set it as a List but I m not sure how to let us
  • 如何删除已打开句柄的文件?

    问题历史 现在我用Windows 媒体播放器 SDK 9在我的桌面应用程序中播放 AVI 文件 它在 Windows XP 上运行良好 但是当我尝试运行它时在 Windows 7 上我发现了一个错误 我无法在播放后立即删除 AVI 文件 问
  • django从文件导入模板[重复]

    这个问题在这里已经有答案了 我有 3 个页面 每个 html 文件的顶部都有相同的菜单 菜单中有很多标签 当我想修改标签中的所有链接时遇到问题 我想将菜单写入另一个名为 menu txt 的文件中 并使用模板加载 menu txt 然后将菜
  • 将图像从网络摄像头发布到 Azure Face Api

    我正在尝试将从网络摄像头获取的图像上传到 Microsoft Azure Face Api 我从 canvas toDataUrl image png 获取图像 其中包含数据 Uri 我将内容类型更改为 application octet
  • 用于从字符串中删除特定 BBCode 的正则表达式

    我正在尝试编写一个简单的方法来从输入字符串中删除特定的 BBCodes 例如 我有一个输入 string input b Hello World b 我希望能够做到 Remove input b 并得到输出 Hello World 正则表达
  • Numpy 似乎产生了不正确的特征向量

    我想使用 Numpy 计算特征值和特征向量 这是我的代码 import numpy as np from numpy import linalg as LA lapl np array 2 1 1 0 0 0 1 3 0 1 0 1 1 0
  • 通过 .NET 关闭时 Excel 2007 挂起

    我有一个 Visual Basic NET 程序 需要打开和关闭 Excel 电子表格 打开和阅读电子表格工作正常 但尝试关闭 Excel 2007 应用程序会导致其挂起 它似乎关闭了 但如果您查看任务管理器 应用程序仍在运行 我用来关闭它
  • 折叠所有表单项 JQuery Mobile

    使用 JQuery 移动版 1 4 0 我有一个表单 其中包含许多带有多个复选框的可扩展元素 当我单击刷新按钮时 我可以清除所有用户选择 但不同的字段集仍然存在expanded 我可以刷新页面 但我认为这不是一个顺利的选择 除了为每个字段集
  • JButton settext具体位置

    我有一个带有图像图标的 JButton 我需要定位文本 有没有办法将 JButton 的文本定位在特定位置 而不是使用 CENTER LEADING TOP 等 我以前从未在 JButton 上尝试过 但也许您可以添加 JLabel 作为按
  • 如何在 Spring 后端获取可变 HTML 表单值 (POST)

    我对 Java 和 Spring 框架相当陌生 这可能很容易解决 但我找不到这个问题的任何解决方案 并且其他解决方案不适合我的问题 我想实现一个动态表单 用户可以在其中插入多个电子邮件地址来发送邀请 这种形式可以通过JS动态扩展 每次点击都
  • 测试 SAS 宏中的空参数

    例如 我有一个宏程序 macro test parameter1 parameter2 parameter3 DATA data gender SET data input WHERE gender parameter3 RUN mend
  • Zend Framework 和 Mysql - 非常慢

    我正在使用 php mysql 和 zend 框架创建一个网站 当我尝试运行任何 sql 查询时 页面生成时间会跳至 0 5 秒左右 那太高了 如果我打开sql 页面生成是0 001 我运行的查询量并没有真正影响页面生成时间 测试了 1 1
  • 附加到对象

    我有一个保存警报和有关它们的一些信息的对象 var alerts 1 app helloworld message message 2 app helloagain message another message 除此之外 我还有一个变量表
  • Facebook 的 Qt 客户端

    我想用Facebook API http wiki developers facebook com index php API 在我的Qt Application 我不想使用WebKit 是否可以使用QNetwork only 有没有关于如
  • 如何从包含值的 JSON 对象的数组中删除元素

    请注意 这篇文章已标记为jq 我根本不想用 javascript 来做到这一点 我有一个对象 其字段之一是数组 我想从对象的数组中删除与条件匹配的元素 但保留该对象 我环顾四周 只能发现返回的片段just现在恰好有较少项目的数组 这是一个例