この記事は 2023年 ゆるくすすめる ( ワンフットシーバス ) GWアドベントカレンダー の 3 日目の記事です。
jq で JSON ファイルからデータを読むときのメモです。
背景
jq の高速さと扱いやすさに最近あらためて感動しまして、1 万件とか大きめの JSON データも select で検索を回せたりといろいろ良い感じです。
ただ、私がまだ慣れてないせいもあって、事前に変数作って入れるようなサンプルを参考にしてしまって、たまに混乱してしまうことがあり、自分用にまとめておきます。
[ { "type": "home", "number": "0203 544 1234" }, { "type": "office", "number": "01962 001234" }, { "type": "office", "number": "01962 001235" }, { "type": "mobile", "number": "077 7700 1234" } ]
これが sample.json としてある場合に、
jq '.[].number' sample.json
と、 1 番目のパラメータに select など検索するオプションを入れつつ 2 番目のパラメータにファイルパスを指定します。
"0203 544 1234" "01962 001234" "01962 001235" "077 7700 1234"
今回の結果だと number の値が羅列されます。
最近は API で大量にデータを集めたあと、またその API で何度も取得するのは制限を越えてしまいかねないので、結果をファイル保存して、以降はその JSON を見て集計や計算をするといったことで使っています。
参考文献として とほほのjq入門 – とほほのWWW入門 が、めちゃくちゃ網羅されててとても参考になりました。