JSONを見やすく表示するにはPythonの-mjson.toolを使うと良いよ
- 作者: Alex Martelli,Anna Martelli Ravenscroft,David Ascher,鴨澤眞夫,當山仁健,吉田聡,吉宗貞紀
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/06/26
- メディア: 大型本
- 購入: 11人 クリック: 423回
- この商品を含むブログ (85件) を見る
JSONを見やすく表示する
WebツールやExtension
{"Compile":["C","C++","Objective-C"],"Script":["JavaScript","PHP","Perl","Python"]}JSONはJavaScriptのObjectを文字列化したもので、1行にまとまってしまうため非常に見づらいです。「JSON 整形」というキーワードでぐぐると上のようにWebサービスからChrome/FirefoxのExtensionなどが出てきます。今回はサーバサイドでJSONをechoする処理を書いていて、ツールを用いる事無く簡単に見やすくする方法を調べていたのですが、Pythonの-mjson.toolを使うとコマンドライン上で整形できることがわかりました。
Python pretty-print-json
Stack Overflowに How to pretty-print JSON script?というコラムがあり、そこでPythonの-mjson.toolを指定する方法を知りました。例えば以下のようなPerlコードがあって、実行処理に対してパイプ(|)でpython -mjson.toolを指定するだけで整形してくれます。下では生のJSON文字列と整形した内容を比較していますが、見やすさは歴然だと思います。特にHashを表す{}と配列を表す[]がそれぞれ分かりやすいかと。
#!/usr/bin/perl use strict; use warnings; use JSON; my %array = (); push( @{$array{Script}}, ( 'JavaScript', 'PHP', 'Perl', 'Python' ) ); push( @{$array{Compile}}, ( 'C', 'C++', 'Objective-C' ) ); print encode_json( \%array );$ perl echo_json.pl {"Compile":["C","C++","Objective-C"],"Script":["JavaScript","PHP","Perl","Python"]}$ perl echo_json.pl | python -mjson.tool { "Compile": [ "C", "C++", "Objective-C" ], "Script": [ "JavaScript", "PHP", "Perl", "Python" ] }