
讓我們以一個文件為例:
"test": [
{
}
],
"test": [
{
"name":"bob",
"age":21
}
]
正規表示式有沒有辦法將程式碼最小化為如下所示:
"test": [{}],
"test": [{"name":"bob","age":21}]
答案1
假設這兩個鍵實際上是唯一的(否則當使用 JSON 解析器解析時,test
第二個鍵test
將覆蓋第一個鍵),並且該文檔是格式良好的 JSON 文檔,用於生成它的緊湊版本。test
jq -c
在這裡,我更改了鍵的名稱,以便它們是唯一的,並將 JSON 片段封裝在匿名物件中:
$ cat file.json
{
"test1": [
{}
],
"test2": [
{
"name": "bob",
"age": 21
}
]
}
$ jq -c . file.json
{"test1":[{}],"test2":[{"name":"bob","age":21}]}
.
命令列上的 是一個過濾jq
器,可以透過文件而不修改內容。