使用正则表达式最小化两个模式之间的 JSON 代码

使用正则表达式最小化两个模式之间的 JSON 代码

让我们以一个文件为例:

                        "test": [
                           {
                           }
                        ],
                        "test": [
                           {
                              "name":"bob",
                              "age":21
                           }
                        ]

正则表达式有没有办法将代码最小化为如下所示:

                        "test": [{}],
                        "test": [{"name":"bob","age":21}]

答案1

假设这两个键实际上是唯一的(否则在使用 JSON 解析器解析时,test第二个键test将覆盖第一个键),并且该文档是格式良好的 JSON 文档,用于生成它的紧凑版本。testjq -c

在这里,我更改了键的名称,以便它们是唯一的,并将 JSON 片段封装在匿名对象中:

$ cat file.json
{
  "test1": [
    {}
  ],
  "test2": [
    {
      "name": "bob",
      "age": 21
    }
  ]
}

$ jq -c . file.json
{"test1":[{}],"test2":[{"name":"bob","age":21}]}

.命令行上的 是一个过滤jq器,可以通过文档而不修改内容。

相关内容