まず、取得したjson出力がフォーマットされていない場合は、いずれのURLにも?pretty=1
を追加してください。結果はもっと良いでしょう。もう一つの選択肢は、Python 2.6+をお持ちの場合、出力をpython -m json.tool
にパイプすることです。シェル関数に保存して、単にjsonを出力するコマンドの後に| j
と入力するだけで、後者のオプションが好きです。非常に短く一般的です。
curlコマンドを発行するには、いくつかのオプションがあります。最も一般的な解決策は、コマンド全体を使ってシェルスクリプトを作成することです。例:
curl -s localhost:9200/foo/_search -d'
{"query":
{"query_string":
{"query":"foo*"}}}' | python -m json.tool
これをシェルプロンプトで貼り付けるのではなく、ファイルに保存します。その後、ソースを微調整し、必要なだけ頻繁に実行します。
% sh query
これには、Emacsを使用する方法があります。バッファの領域にcurl
を実行し、結果を操作します。shell-command-on-region
またはが良い選択です。上記のスクリプトでは、シェルに切り替える代わりにM-| sh RET
を発行することができます。 Vimでは、同様のことをすることができます。
私はこれをチェックしていませんが、多くの人がelasticsearch-headを好むようです。これはクエリを発行し、構造化された結果を与えるUIです。 http://mobz.github.com/elasticsearch-head/
更新:私は最近json_pp
その関数の同様のPythonのjson.tool
に呼ばれる便利なコマンドラインユーティリティでPerlのJSONモジュールの出荷ことに気づきました。 JSON::XS
をインストールする場合は、(高速の)json_xs
ビンもあります。
非常に良い答え、多くの有用なヒント、私はすでに頭を使用しており、それは素晴らしいツールです – opensas