JSONにコメントを記述する方法の備忘録

  • Posted on
  • Category : Tips
JSONにコメントを記述する方法の備忘録

すごい今更なことなのですが、JSONにはコメントを付けることができないということをつい最近になって気付きました…。ならコメントを付けなければ良い話ではありますが、個人的にJSONを利用する場合は設定ファイル等で利用することが多いのもあって可能であればコメントを残したいと思うことがあったり、単純に付ける方法はないのかが気になって少し調べてみたので備忘録です。コメント付けたいならわざわざJSONにこだわらなくてもYAMLにするとかコメント使えるHjson使えばって感じですが、あくまでJSONでコメントを付ける方法になるので、そういったのは意見はスルーでお願いします…。

コメント用にデータをつくる #1

単純に使用しなければいいということで、コメント用として出力などはしないデータをつくってしまう方法です。
例えば下記のように実際に使用しないという意味も含めて先頭に「_(アンダースコア)」を、キー名をわかりやすく「comment」で_commentにするなどして、値の箇所にコメントを記述する方法です。

JSON

{
  "_comment": "「key1」は○○、「key2」は△△、「key3」は□□の設定内容を記述してください",
  "key1": "value1",
  "key2": "value2",
  "key3": "value3",
}

コメント用にデータをつくる #2

同じくコメント用としてデータをつくってしまう方法で、こちらはキーの部分にJavaScriptなどのコメントアウト利用時に使用される//を記述しておく方法です。
実際に使用しないとはいえ、文字列などのように勘違いしてしまう可能性があるものはできれば使用したくない時はこちらの方が良い(わかりやすい)かもしれません。

JSON

{
  "//": "「key1」は○○、「key2」は△△、「key3」は□□の設定内容を記述してください",
  "key1": "value1",
  "key2": "value2",
  "key3": "value3",
}

複数行っぽく見せる

上で紹介したものはいずれもコメントが1行想定で行っていましたが、長文で分かりづらくなってしまう時などは複数行で記述したい時もあります。
その場合は下記のように配列を使用して複数行コメントっぽい見せ方にする記述方法もあります。

JSON

{
  "//": [
    "Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
    "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
  ]
}

キーを空にする

上で紹介したものと同じでデータをつくる感じではありますが、こちらはいっそのことキーを空にしてしまうという方法です。

JSON

{
  "": "「key1」は○○、「key2」は△△、「key3」は□□の設定内容を記述してください",
  "key1": "value1",
  "key2": "value2",
  "key3": "value3",
}

同じキーを使用する

JSONでは同じキーが重複した場合に最後に定義したものが優先されるため、それをコメントに利用するという方法です。
例えば下記は「key1」「key2」「key3」とキーがそれぞれ2つずつありますが、いずれも1つ目に書かれている方は無視されて2つ目のキーの値が使用されます。

JSON

{
  "key1": "○○の設定内容を記述してください",
  "key1": "value1",
  "key2": "△△の設定内容を記述してください",
  "key2": "value2",
  "key3": "□□の設定内容を記述してください",
  "key3": "value3",
}

幾つか紹介してきましたが、ご覧の通り自分が探した限りではJSONでコメントを付けたい場合はコメント用にデータをつくってそこへコメントとなる文字列を記述するという方法になるようでした。
個人的にはもし使うとしたら「コメント用にデータをつくる #2」か「複数行っぽく見せる」の方法かなとは思いましたが、正直特にこれが良いというのも決めかねるので、同じようにJSONでコメントを付けたいなと思ったら好みな方法で試してみてください。
ただ、やはりデータサイズが増加してしまうとか記述によっては必要なデータなのか分かりづらく混乱を招いてしまうなどの懸念点もあったり、環境によってはエラーになってしまうなんてこともあるようなので、上記方法を利用してコメントを付けたいという時もそういった点は注意が必要なようです。

この内容はいずれも下記エントリーの掲載内容をもとに紹介させてもらいました。
リンク先では幾つかのツールでコメントつきJSONを試した結果やこの内容についてディスカッションしている場へのリンクなども紹介されています。

もし、このエントリーをご覧になった方でもっとスマートな記述方法とかおすすめな記述方法とか知っている方がいれば是非教えてください。

Back to Top

JSONにコメントを記述する方法の備忘録

JSONにコメントを記述する方法の備忘録

/ Tips

Tagged with:

NxWorld

Sorry... doesn't support your browser

To get the best possible experience using our site we recommend that you upgrade to a modern web browser.NxWorldではご利用中のブラウザサポートはしていません。
Internet Explorerのアップグレード行う、もしくはその他のブラウザを使用しての閲覧をお願いします。