私のUNIXシェルスクリプトでは、私がcurlコマンドを実行すると、私のcurl結果は以下のように表示され、それをファイルにリダイレクトします。
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
しかし、私はこの出力が以下のような読みやすいJSONフォーマットでファイルに置かれることを望みます:
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
Plsは示唆している
これをやってみてください。
curl ... | json_pp
または、 jq を使用して、アイデンティティフィルタを使用します。
curl ... | jq '.'
curl ... | node <<< "var o = $(cat); console.log(JSON.stringify(o, null, 4));"
私はあなたがJSON出力をきれいにしたいと思っていると思います。それはpythonを使って達成できます。
curl http://localhost:8880/test.json | python -mjson.tool > out.json
私はjson_reformatがとても便利であることがわかりました。だから私はちょうど次のようにしました:
curl http://127.0.0.1:5000/people/api.json | json_reformat
それでおしまい!
これはジルの答えに追加することです。これを行うには多くの方法がありますが、私は一般的な* nixシステム上で軽量で覚えやすく、普遍的に利用可能なもの(例えば、好みのLinuxフレーバーの標準LTSインストールが付属)を好みます。
これが好ましい順序でのオプションです。
Python Json.toolモジュール、例えばecho '{"foo": "lorem"、 "bar": "ipsum"}' | python -mjson.tool(長所:ほぼどこでも利用可能、短所:色分けなし)
jq(1回インストールが必要な場合があります)echo '{"foo": "lorem"、 "bar": "ipsum"}' | jq(短所:jqをインストールする必要があります;長所:カラーコーディングと多用途)
json_pp(Ubuntu 16.04 LTSで利用可能)、例えばecho '{"foo": "lorem"、 "bar": "ipsum"}' | json_pp
Rubyユーザーの場合、gem install jsonpretty echo '{"foo": "lorem"、 "bar": "ipsum"}' | jsonpretty
チェックアウト curljson
$ pip install curljson
$ curljson -i <the-json-api-url>
python -m json.tool
Curl http://127.0.0.1:5000/people/api.json | python -m json.tool
また助けることができます。
this node module を使用できます
Sudo npm i -g json
;
次に、curlの後に|json
を追加します。 curl http://localhost:8880/test.json |json