JSONテキストを整形する方法について


JSONテキストを整形する方法について

JSONテキストを整形したい場合は様々なシチュエーションであると思いますが、
それぞれのケースにおける成形方法を説明致します。

前提条件

macOS
※但し、未検証なだけでWindows環境でもjqは利用できます。

事前準備

jqをインストールする

$ brew install jq

Vimで整形したい場合

コマンドラインで以下を入力する

:%!jq

VSCodeで整形したい場合

JSONを行選択して=を押す
もしくはJSONを行選択してコマンドパレット(右クリック、またはショートカットキーから)を開き、Format Documentを選択する

クリップボードのJSONを整形したい

ターミナルから以下のコマンドを実行する

pbpaste | jq

※pbpasteというコマンドでクリップボードにコピーしている内容を出力することが出来ます。
※試したことはないですが、Windowsでもpbpasteは使える様です。

ターミナルで使える便利なエイリアス

alias pbjq='pbpaste | jq'
alias pbjqccopy='pbpaste | jq -c | pbcopy'

pbjqをターミナルで実行するとクリップボードに設定されているJSONを整形してターミナルに出力する。

pbjqccopyをターミナルで実行すると、クリップボードに設定されているJSONをワンライナーに整形してクリップボードの内容を置き換える。

例. 以下のJSONをクリップボードにコピーする。

{
  "name": "Tanaka",
  "age": 26
}

pbjqccopyを実行する。

{"name":"Tanaka","age":26}

クリップボードが上記の内容にコンバートされる。

ターミナルでHTTPリクエストの引数にJSONを使いたい場合に重宝します。