gron - JSONをgrepしやすくするCLIツール
JSONはXMLと比べると見やすいですが、そのままでは可読性があまり高くありません。システム用のフォーマットだからと言えばそれまでですが、開発中などは人が読む機会も多いはずです。 そこで使ってみたいのがgronです。JSONを変換したり、grepして読みやすくしてくれるコマンドです。
gronの使い方
まずは標準の方法です。curlで試します。
$ curl http://headers.jsontest.com/
{
"X-Cloud-Trace-Context": "0ac332002030808158c7b73a49c2040b/14780520834203559118",
"Host": "headers.jsontest.com",
"User-Agent": "curl/7.43.0",
"Accept": "*/*"
}
これをgronに置き換えます。JavaScriptオブジェクトを作る形で取得できます。
$ gron http://headers.jsontest.com/
json = {};
json.Accept = "application/json";
json.Host = "headers.jsontest.com";
json["User-Agent"] = "gron/0.2";
json["X-Cloud-Trace-Context"] = "9c5c17bcb6d76b040c53663775ab1c6a/10176305454733349870";
そしてこれをgrepすると、その部分だけが抽出できます。
$ gron http://headers.jsontest.com/ | grep Host
json.Host = "headers.jsontest.com";
JavaScriptのコード風に変換させるのが面白いポイントです。これのお陰でデータ構造が分割されて分かりやすくなります。さらにgronで絞り込んだ後、その部分だけを普通のJSONとして表示させることも可能です。開発のお供にぜひ。
gronはGo製のオープンソース・ソフトウェア(MIT License)です。