[Emacs] Emacs での JSON ファイルの pretty-print

JSON ファイルを Emacs で手軽に整形する方法を説明します。

環境&対象

以下の環境で動作確認を行なっています。

  • macOS Monterey 12.1 beta3
  • Emacs 26.1

JSON ファイル

JSON ファイルをやりとりに使うことが増えてきました。

Wikipedia はこちら

もともとは、JavaScript 用だったこともあり、Web で使われることが多かったと思いますが、最近は 何にでも使われている気がします。

macOS での JSON ファイル

macOS では、JSON ファイル向けの UTI を用意していることもあり、Finder でプレビュー対応もしてくれますが、

みやすく整形してくれるほどではありません。

JSONatFinder

prettyPrinted オプションも用意されています。

人間が読みやすくするためによく Pretty Print という インデントと改行を適宜入れることが行われます。

Foundation の JSONSerialization にも、 prettyPrinted というプロパティが用意されていて、人間に見やすく出力することもできるようにっています。

Apple のドキュメントは、こちら

ですが、人間が確認するときに、上記のプロパティを切り替えるようにするのも手間です。

元々テキストファイルなので、テキストエディタが整形して見やすくしてくれると嬉しいので、少し調べてみました。

# 普段はテキストエディタとして Emacs を使っています。

Emacs で簡単に見やすくしたい

どうやら、Emacs 26 では、JSON 向けのパッケージは元から入っているようです。

以下の手順で テキストとして読み込んだ JSON ファイルを整形することが簡単にできました

JSON パッケージのロード

用意はされているのですが、ロードはされるようになっていないので、自分でロードする必要があります。よく使うのであれば必要であれば、init.el 等に追加してください。


M-x load-library<RET>
json<RET>

region に対して、整形

その名前ずばりの json-pretty-print という機能が用意されています。

適用したい region (大抵はファイル全体だと思いますが)を選択してから、


M-x json-pretty-print<RET>

あっという間に pretty-print 状態になります。

実行前

Before

実行後

After

まとめ:Emacs で JSON を pretty-print する

Emacs で JSON を pretty-print する
  • json パッケージを load-library する
  • region を選択して、json-pretty-print を実行する

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です