繁体   English   中英

如何删除一个块。 使用 jq 来自 json 的代码?

[英]How to remove a block of. code from a json using jq?

我有一个像这样的 json 文件temp.json -

{
  "data": {
    "stuff": [
    .....
    ]
  },
  "time": {
    "metrics": 83
  }
}

我想从上面的 json 文件中删除这个特定的代码块 -

,
"time": {
  "metrics": 83
}

删除后我想在同一个文件中重写新的 json 以便同一个文件中的新内容将是 -

{
  "data": {
    "stuff": [
    .....
    ]
  }
}

这有可能做到吗?

注意:数字 83 一般可以是任意数字。

这是一个很好的教程: Baeldung: Guide to Linux jq Command for JSON Processing

也许你可以尝试这样的事情: jq 'del(.time)' temp.json > temp2.json

请注意 jq 在语义级别上起作用; 这不仅仅是“文本替换”。 因此,当您使用 jq 删除 object 时,对象之间的“逗号”分隔符之类的内容将从 JSON 文本中删除。

进行实验,看看什么最适合您的特定场景。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM