何かの設定ファイルとかでJSON使ってて、ファイル内にコメントを書きたくなったり、一時的に設定変更するのに、前の値をコメントアウトして残して置きたかったりとかありますよね
(きっと私だけではないはず)
JSONファイル内には、基本的にコメントが書けなくて、困ってたんですが、先日いい方法を教えていただいたので、メモ&共有します。
コメント書きたければ、コメントをデータとして保持すれば良い
単純にJSONのルールに乗っ取ったデータの一つとして、コメントを保持するようにします。
こんな感じ。
{
"_comment": "コメントをデータとして保持する",
"id": "taberu_salad_jp",
"name": "食べるサラダ"
}
データとして、使用しないことが分かりやすいように、キー名を_(アンダースコア)
始まりにするとか、それぞルールを決めておくと良いかと思います。
キー名を空にしちゃうってのも一つの手ですね。
こんな感じ。
{
"": "コメントをデータとして保持する",
"id": "taberu_salad_jp",
"name": "食べるサラダ"
}
二行以上のコメントも書きたい時あるんですが…?
はい、そういう時もありますよね。でもこれも同様にJSONのデータとして持たせちゃえばいいんです。
こんな感じ。
{
"_comments": [
"1行目のコメント",
"2行目のコメント"
],
"id": "taberu_salad_jp"
}
複数のキーに対して、それぞれにコメント付けたい
要するにJavaScriptであれば、こういうことがやりたいって話です。
// TwitterのIDが入ってる
var id = "taberu_salad_jp";
// Twitterの名前
var name = "食べるサラダ";
こんな感じでJSONにもコメント付けてみましょう。
こんなやり方があります。
{
"id": "TwitterのIDが入ってる",
"id": "taberu_salad_jp",
"name": "Twitterの名前",
"name": "食べるサラダ"
}
JSONでは、キーが重複している場合、前に書いた方は無視されます。(参照するときに、上書きされてそう)
そのため、上記のような書き方ができます。ただ、少し可読性が落ちますね。
まとめ
JSONにコメントを書く方法をいくつかご紹介しました。個人的には、一番上の"_comment"
のパターンを使っています。
どれを使うかは好みの問題ですが、チーム開発なんかではもし使うのであれば、統一した方がいいでしょう。
コメント