arrays - 删除包含特定键 JSON 的对象
问题描述
嗨,我有一个 JSON 文件,如下所示:
{"a" :[
{
"b": "name_1",
"c":[
{"d": "value_1", "e": "true"},
{"d": "value_2"},
{"d": "value_3", "e": "true"}
]
},
{
"b": "name_2",
"c":[
{"d": "value_4", "e": "true"},
{"d": "value_5"},
{"d": "value_6"}
]}
]
}
我想删除“c”中包含键“e”的每个对象。
我试图用 JQ 做,但我无法获得正确的命令/过滤器......
最近我来了...... https://jqplay.org/s/fDzVed_Isv
解决方案
要删除包含您必须键入的键的对象:
jq 'del( .a[].c[] | select(has("e")))'
https://jqplay.org/s/B-JW8wnqG3
感谢@steeldriver 在这篇文章中回答了这个问题 https://askubuntu.com/questions/1046215/find-substring-in-file/1046230?noredirect=1#comment1706714_1046230
推荐阅读
- frameworks - 是否有任何微前端框架可以帮助将旧项目分离为单独升级的模块?
- caching - 控制 get 和 put jcache 的可能性
- r - 为什么 R 中的 nls(非线性模型)方程与 Excel 不同?
- ruby-on-rails - 如何清理开发环境的ActiveStorage记录和存储文件夹?
- ios - 如何以编程方式检测显示缩放?
- java - getAttributeValue 返回 null java
- c# - 组合函数会使应用程序崩溃,没有任何异常
- javascript - 在打字稿的另一个类中使用静态类方法
- java - 如何将 Spring 服务注入到非组件父类中
- c++ - esp32_cam 读取和处理图像