本セミナーでは、jq
を用いたJSONテキスト解析を説明します。最も簡単なものなら.
だけ、難しいものなら次のようなものくらいをカバーしたいと考えています。
($value | ascii_downcase) as $value |
.[] |
.name = (.Name | ascii_downcase) |
select(contains({"name": $value})) |
del(.name)
とくに決まったプログラムはありません。最初にjq
の使い方を簡単に説明したあとは、参加者の持ち寄ったJSONテキストを、好みの方法で解析していくという演示形式を取ります(難しいのを持ってこられるとその場では対応できないかもしれません。その際は、ご容赦のほどを)。
共有されるので、パスワードなどセンシティブな情報はあらかじめ取り除いておいてください。
jq
は依存関係のない単一実行形式ファイルなので、設定せずともダウンロードするだけで利用できます。最新版(2018年11月)のバージョンは1.6です。必須ではありませんが、あらかじめ自機にインストールしておくと、話を聞きながら試すことができて便利です。
Linix、OS X、Windows、FreeBSD、Solarisで利用可能です。ただし、コマンドプロンプトだと特殊文字の記述(エスケープ)が複雑になりがちなので、Windows Subsystem for Linuxをお勧めします。
セミナーでは、jq
の実行にはjq playを用います。
共有エディタには、MeetingWordsを利用します。解析したいJSONテキストがあれば、こちらにペーストしてください。リンクはセミナー開始時にZoomチャットに張り付けます。
(認証なしでアクセスできる)RESTインタフェースへのアクセスにはcurl
を使います。
どなたでも。
jq
1.6 マニュアル- The JavaScript Object Notation (JSON) Data Interchange Format, RFC 8259。JSONテキストの仕様です。
- jqDoc-public。講師のGithubサイトです。サンプルJSONテキストはここからダウンロードします。
jq
ハンドブックーNetOps/DevOps 必携のJSONパーザ, 2021年。本セミナーのベースとなっている書籍です。- Stack overflow - Questions tagged [jq]
- Qiita - ./jq タグ