1. 戻る 
  2. 株式会社カットシステム
  3. 書籍
  4. 「jqハンドブック」

本書をテキストにしたオンラインセミナーがあります

jqハンドブック
NetOps/DevOps 必携のJSONパーザ

表紙画像
著者 豊沢 聡
判型 B5変型、264頁
ISBN 978-4-87783-491-3
価格 本体3,200円
発行日 2021年7月10日(初版 第1刷発行)
備考 ダウンロードサービス:学習に使えるサンプルファイル

本書について

 jqはJSONテキストを解析、抽出、変換するコマンドライン指向のツールです。

 JSON(JavaScript Object Notation)は構造的なデータを表現する一般的な形式で、ウェブサービスで広く利用されています。とくにウェブ技術を基盤にしたREST(REpresentational State Transfer)では、リソースはたいていJSONで記述されます。RESTはリモートシステムの管理運用でよく用いられ、JSONテキストを送信することでシステムを設定したり、GETリクエストからJSONで書かれたシステム情報を取得します。たとえば、協調ソフトウェア開発でよく用いられるGitHub、AWSなどのクラウド環境、あるいはF5 BIG-IPのようなネットワーク機器のRESTインタフェースはJSONベースです。

 JSONテキストは可読文字で記述されるので、テキストエディタで読み書きできます。しかし、データの階層構造が深いと、経験を積んだ目でもかなり読みづらいです。数百個の構成情報が改行なしで1行にまとめられることもあり、そんなときはUnixでおなじみの行指向ツールであるgrepやsedでは簡単には解析できません。そこで、やや込み入った処理ではプログラミングのお世話になります。幸いなことに、PythonやJavaScriptといったポピュラーな言語にはJSON処理ライブラリが用意されているので、スクリプティングはそれほど難しくありません。

 しかし、ちょっとした操作のためにわざわざプログラムを書くのは面倒です。Unixツールのように、必要なときに必要なものだけをいろいろ組みあわせてさくっと利用できたほうが便利です。

 jqはそんな用法を念頭に設計されています。つまり、JSON専用のsedあるいはawkのようなコマンドです。jqは部分データの抽出、不要な要素の削除、値の変更や演算、簡単な集計などを(たいていは)1行でできます。なれてくれば、より複雑な操作もできます。

 jqのオフィシャルマニュアルはA4換算で50ページほどなので、使いたい機能を見つけるのはそう大変ではありません。ただ、そっけない記述も多く、ときには試行錯誤も必要です。チュートリアルもありますが、あまり拡充されていません。そこで、シンプルなサンプルとその実行例から各種の機能を説明したのが本書です。オフィシャルマニュアルのほとんどをカバーしていますが、一部、利用頻度の少なそうな機能は省いています。

 RESTを日常的に利用するNetOpsやDevOps諸氏のお役に立てれば幸いです。

内容見本PDF(約1.2MB)

目次