- 1. 概要
- 2. 形式
- 3. コメント
- 4. 末尾のカンマ
1. 概要
「JSON」自体が「JavaScript Object Notation」の頭文字をとっておるのですが、今回(2023年1月26日)、改めて知りました。
名前のとおり、「JavaScript」から使われ始めたようです。
現行のシステムで使用しているものは、多いですな、「PHP」「Python」あたりでもよく使われているようで。
今回、自分の「FreeBSD」マシンのホームディレクトリ以下を「*.json」で「find」してみたら。
ファイル数で、3340 もあったのでいささか驚きました。
まぁ、複数バージョンが同居していたりもしますが。
「.jsonc」「.json5」は、「.json」からの派生なので、まとめて、ここに書いちゃうつもりです。
「jsonp」なるものもありますが、これは、形式というより仕組みのようです。
ちなみに、「.yaml」や「.toml」っていうファイルもありますが、さわったことはあるものの、これらにまで言及するかはわかりません。
「.yaml」や「.toml」も「.json」の派生らしい・・・。
改めて、リンクを・・・。
「JavaScript Object Notation」
2. 形式
形式をさわりだけ。
あまり、良くないサンプルですが
{
"root" : "https://ドメイン名/",
"contents": "/パス/contents.json",
"exclude" : [ "https://www.sing.ne.jp/パス", "https://www.sing.ne.jp/パス" ],
"exclkey" : [ "#", ".wav", ".mp3" ],
"output" : "/パス/sitemap.xml"
}
自前で、サイトマップを作成する際に、使用した、定義ファイルです。
「{}」で囲んだり、「項目名:値」の形式になっていることがわかります。
複数の項目がある場合は、「,」で区切ること。
「[]」で囲んでいるものは、配列になります。
3. コメント
「.json」の問題は、コメントが書けないことにあったようです。
実際、プログラムで読み書きする、単なる、データファイルであれば、それでも特に問題はありません。
これが、初期化ファイルやなにかの定義ファイルで、人が読み書きするとすれば。
コメントがいれられないのは、とても不自由です。
この問題を解消したのが、「.jsonc」だそうでありまして。
「C言語」形式のコメントが入れられます。
すなわち、「//」以降が、行末までのコメントで、「/*」から「*/」までが、複数行可能なコメントです。
4. 末尾のカンマ
カンマであろうが、コンマであろうが、トンマであろうが構いませんが、項目を区切る「,」。
これが、他の言語でも、なかなか問題になることがあります。
まぁ、「SQL」でもそれ、言えますわな。
多くの人は、これを「ケツカンマ問題」と言っているようで。
やぁねぇ、お行儀が悪いわ。
せめて「おしり」と言ってほしい。
ここでは、「末尾のカンマ」と言いますが。
{
"a" : "1",
"b" : "2"
}
と書いてあるものに、「"c" : "3"」を加えたいとき。
「.json」の場合、「"b" : "2"」の末尾に「,」をいれないとエラーになっちゃうわけです。
この1文字が、案外面倒くさい。
やったことのある人ならば、「イー!!!」ってなっちゃったはずである。
もう、こういうのは、元々のものから
{
"a" : "1",
"b" : "2",
}
をオッケーにしちゃって、次の項目がなくてもいいことにしちゃわない?って考えがわいてくるわけです。
次をいれるときは「"c" : "3",」にしちゃって、常に、末尾に「,」がある形にしておけば、データの増減が楽になるのです。
それを実現したのが、「.json5」のようです。
|
|