Python で コマンドラインからJSONフォーマット解析してみた!

前の記事で、JSONフォーマットの解析方法をまとめてみた。

でもこの方法だと毎回Pythonでスクリプトを書かなければならないので面倒…

と思って調べてみたら、コンソールからJSONフォーマトを整形&検証することができるってことがわかったので、記事にしてみた。

環境

今回の実施環境も前回に同じく…

  • MacOSX 10.13.3
  • Python 3.6.1


準備

Virtualenv環境の構築

今回も"virtualenv"環境の上で実施する。準備の手順に関しては、過去の記事にまとめてあるので、参照してほしい。
尚、今回はサードパティのPythonパッケージを使用せず、標準パッケージのみで大丈夫な為、追加パッケージインストールはなし。

コンソールからの使い方

json.tool モジュールという、単純なコマンドラインインターフェイスが存在する。このコマンドラインのオプションは、

  • infile引数
  • outfile引数

がある。未指定の場合は、sys.stdin, sys.stdoutが指定される。

以下に入力サンプルを記載する

# オプション未指定の場合
$ echo '{"json":"sample"}' | python -m json.tool
{
    "json": "sample"
}

# infile オプション指定の場合
# inputfile.jsonファイルにjsonフォーマットの入力しておく
$ python -m json.tool inputfile.json
[
    {
        "test": "sample"
    }
]

# outfile オプション指定の場合
# inputfile.jsonの内容が、outputfile.jsonに整形して出力される
$ python -m json.tool inputfile.json outputfile.json

以上でコマンドラインから簡単に入力できる方法になる。
--sort-keysオプションを用いることで、jsonをパスした結果の地所捨りょくにおいて、キーをアルファベット順に並び替えることができる。