6
2

More than 3 years have passed since last update.

jq コマンドで新規JSONファイルを生成するには

Posted at

TL; DR

次のワンライナーで可能です。

新規JSONファイルを生成するワンライナー
echo {} | jq '.is_created = "true"' > file.json

はじめに

JSONファイルを新規生成(新規作成)したいです。

jq コマンドは既存ファイルを整形するためのコマンドであり、新規ファイルを生成するためのコマンドではありません。
そのため、入力ファイルが無い場合にコマンドを実行しようとしても、正常に動作してくれません。

ファイル引数が無いために正常動作しないワンライナー
jq '.is_created = "true"' > file.json

これを解決する手法を探します。

解決策

echo コマンドによって、空っぽのJSONを引数にすることで、解決できます。

新規JSONファイルを生成するワンライナー
echo {} | jq '.is_created = "true"' > file.json
上記ワンライナーで生成されたfile.json
{
  "is_created": "true"
} 

jq コマンドを駆使すれば、複雑なJSONも通常通りに生成できます。

おわりに

考えればなんてことはないものですが、地味に頭を捻らせたのでまとめておきました。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2