使用正規表示式最小化兩個模式之間的 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器,可以透過文件而不修改內容。

相關內容