「JSONにコメント書きたい!」って思ったあなたにはHjsonがおすすめ。

f:id:todokr:20160423202157p:plain

JSONにコメントを残したいなあと思うことは多々あるかと思います。 特に設定ファイルの場合、「なぜこの値にしているのか」「取りうる値の範囲」などの情報を残しておけるとありがたそうですね。

先日、Hjsonなるものを発見しました。コメントが残せる以外にも、末尾のカンマやクオーテーションが不要だったりと、なかなか快適そうです。

Javaでの実装があるので、これをScalaから利用してみます。
hjson-java

hjson-javaをScalaから利用するサンプル

出力

Name: Shunsuke Tadokoro
Colors: ["red","green","blue"]
Greet: Hello, HJSON!
Regex: ^\d{2,4}\.\w+?-\d+
HTML: <h1>HTML Element</h1>
若さ 若さってなんだ ふりむかないことさ
愛ってなんだ ためらわないことさ

ここまで簡潔に書きたいならそもそもYAMLでいいのではという気もしますが、 通常のJSONもHjsonとしてパースできるという後方互換性(?)があるので、 JSONを扱う既存のコードにすんなりと組み込めるという点ではこちらに分がありそうです。

Java以外にもJS、PythonC#、.Net、PHPでの実装があるようです。

Packages for Developers