私はこれは不可能だと確信していますが、過去には間違っていました。
基本的に私が望むのは、カールコマンドのJSON出力を取得し、jqにパイプしてきれいに保つことです。良い結果。ただし、OSXにはこの機能がないため、Brewや他の方法でインストールする必要があります。私にとっては問題ではありません。しかし、企業環境では、サードパーティ製のアプリケーションをインストールすることが眉をひきます。しかし、多くのLinuxサーバーにはjqがインストールされています。
jqを実行するためにローカル出力をsshにパイプすることはできますか?
curl https://whatever.site/json | ssh linuxHost "jq '.'" > output.json
多数のLinuxサーバーには外部アクセス権がないため、そこからカールコマンドを実行しても機能しないことに注意してください。はい、scpを作成できますが、より多くのステップがあります。
ベストアンサー1
やりたいことがすべてだったら美しい印刷JSONドキュメント(詳細フィルタリング、集計、またはその他の項目を除く)を使用すると、macOS基本システムユーティリティのより簡単なユーティリティjson_pp
()を使用できます。/usr/bin/json_pp
このjson_pp
ユーティリティはPerlモジュール用のコマンドラインラッパーですJSON::PP
。
$ echo '{ "hello": "world!" }' | json_pp
{
"hello" : "world!"
}
man json_pp
カスタム出力形式(-json_opt
オプション)の説明については、参考資料を参照してください。
例:
$ echo '{ "hello": "world!" }' | json_pp -json_opt pretty,indent_length=2,space_before=0
{
"hello": "world!"
}