JSONファイルの各キーの前に文字列を追加します。

JSONファイルの各キーの前に文字列を追加します。

Bashスクリプトで読み取るJSONファイルがあり、各キーの前に固定文字列を追加したいと思います。

json_ファイル:

{"key_1": 12, "key_2": 34, "key_3": 56}

各キーに文字列を追加してx_このデータを更新する最もきれいな方法は何ですか?

例えば、

{"x_key_1": 12, "x_key_2": 34, "x_key_3": 56}

ベストアンサー1

JSONパーサーを使用してjqJSONファイルを解析できます。これは、フォームに関係なく有効なJSONを処理できるという利点があります。

jq 'with_entries(.key |= "x_" + .)' <file.json

入力する

{"key_1": 12, "key_2": 34, "key_3": 56}

出力

{
  "x_key_1": 12,
  "x_key_2": 34,
  "x_key_3": 56
}

以下を使用してJSONを1行に保持できますjq -c …

{"x_key_1":12,"x_key_2":34,"x_key_3":56}

ソリューションは文書に例として示されていますjq。見て検索man jqしてみてくださいwith_entries。しかし、参照文書なので、どのように説明するのか分からないことを見つけるのは難しいです。

おすすめ記事