正規表現を使用して2つのパターン間のJSONコードを最小化する

正規表現を使用して2つのパターン間のJSONコードを最小化する

ファイルを例に挙げましょう。

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

次のようにコードを最小化する正規表現を使用する方法はありますか?

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

答え1

2つのキーが実際に一意である場合(そうでない場合はJSONパーサーを使用して解析するときに2番目のキーが最初のキーを上書きします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内容を変更せずにドキュメントを渡すフィルタがあります。

関連情報