curlをjson形式で見やすくする-日本語も表示して保存

前回SlackのAPIをCurlで叩いてjson形式で返して貰いました。ところが前回の書き方だと日本語の箇所が日本語で表示されていません。日本語もちゃんと表示したいなと思うのでちょっと変えて見たいと思います
jqを使用
jqというライブラリを利用することで、日本語の表示が可能となります。jqをインストールします
jqのインストール
[c]
#rootの場合
yum install jq
#sudo権限を持つユーザーの場合
sudo yum install jq
[/c]
にてインストールできます。インストールしたら実際に使ってみたいと思います。
jqを使って日本語を表示
[python]
[centos@v157-xxxx-xxx-xx ~]$ curl https://slack.com/api/users.list?token=token | jq
[/python]
これで日本語で表示されるようになります。
問題点
curlで表示すると、json形式で整形されて表示されるのですがこれはファイル形式で出力されているわけではないです。例えばslackのユーザーリストですが30名近くいると3000行近くの量になります。
3000行近くをコピーしてペーストするのはちょっと骨が折れます。できればこの形式でファイル出力したいのが本音かなと思います。
jqの整形された状態で直接ファイル保存は出来ない
curでファイル形式を出力することはできるのですが、jq形式で出力した状態では保存できません。そこで一度curlの通常の状態で保存してその後変換していくという手をとります。
jsonファイルを保存
まずはcurlのコマンドでjsonファイルを保存します
[python]
[centos@v157-xxxx-xxx-xx ~]$ curl https://slack.com/api/users.list?token=token -o api.json
[centos@v157-xxxx-xxx-xx ~]$ cat api.json
[/python]
とやると、1行だけの長いファイルが表示されます。
jsonファイルをjqで表示されるように変換
jqで表示されるように変換します
[python]
[centos@v157-xxxx-xxx-xx ~]$ ccat api.json | jq . > seikei_api.json
[centos@v157-xxxx-xxx-xx ~]$ cat seikei_api.json
[/python]
これで完成です。
この記事に関する技術サポート・ご相談
「手順通りにいかない」「自社環境への構築を代行してほしい」など、
インフラ・サーバー周りでハマった際はお気軽にご相談ください。
※ Googleフォームへ移動します(初回相談無料)
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS