🙆‍♀️

JSONを使う時はめちゃ便利。jqコマンドの使い方

2023/11/21に公開

jqコマンドとは

コマンドライン上でJSONデータを操作するためのツールです。
JSONを使っている現場で使うと便利です。

インストール方法

自分が使っているのはMacなのでMac前提になってしまいますが、以下のHomebrewでインストールします。

$ brew install jq

jqコマンド使い方

実際に使い方を見ていきます。

JSONデータを整形して表示

以下のコマンドでファイルの中身をJSON形式で確認することができます。
ファイル名 | jq .にすることでJSONのデータを表示できます。

cat data.json | jq .

もしjqコマンドを入れない場合はこんな感じで見づらいです。これじゃ何をしているのかわかりづらいですよね。

スクリーンショット 2023-11-20 23.37.35.png

しかしjqコマンドをインストールしたことで以下のようになります。
スクリーンショット 2023-11-20 23.41.05.png

断然見やすいですよね!

特定のフィールドを抽出

このJSONデータを基準に考えていきます。

{
  "name": "Product",
  "items": [
    {"name": "Item 1", "price": 5},
    {"name": "Item 2", "price": 15},
    {"name": "Item 3", "price": 8}
  ]
}

特定のフィールドは以下のやり方で抽出できます。

cat data.json | jq '.name'
"Product"

条件に基づいてデータをフィルタリング

特定の条件でJSONデータを抽出します。

cat data.json | jq '.items[] | select(.price < 10)'
{
  "name": "Item 1",
  "price": 5
}
{
  "name": "Item 3",
  "price": 8
}

データを変換して新しい形式に出力

データを変換して新しい形式に出力するやり方です。

cat data.json | jq '{name: .name, price: .price}'
{
  "name": "Product",
  "price": 5
}

より詳しい資料

以下の資料でより詳しく載っています。他にも試してみてください。

https://zenn.dev/oreo2990/articles/49a20a09517d90

Discussion