JSON (JavaScript Object Notation) ファイルとデータ形式
GISBoxは、OSGB/GEOTIFF/RVT などの複数の GIS フォーマットでの編集をサポートし、3DTiles/Terrain への変換や公開が可能なワンストップ 3DGIS データ編集、変換、公開プラットフォームです。
概要
JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットです。これは JavaScript 言語のサブセットに基づいており、データの送受信や保存に広く使用されています。JSON はキーと値のペアでデータを表現し、シンプルで読みやすいテキスト形式を採用しています。そのため、解析や生成が容易で、汎用的なデータ交換フォーマットとして利用されています。
データフォーマットの概要
- オブジェクト:オブジェクトの構造は、「{」中括弧で開始し、「}」中括弧で終了します。中間部分は、0 個以上の「キー(key)/値(value)」ペアから構成され、それぞれが「,」で区切られます。キーと値の間は「:」で区切られます。キーは文字列であり、値は文字列、数値(整数または浮動小数点数)、真偽値(true または false)、配列、オブジェクト(ネストされたキーと値の集合)、または null のいずれかです。
- 配列:配列の構造は、「[」角括弧で開始し、「]」角括弧で終了します。配列は値(value)の順序付き集合であり、値はカンマで区切られます。配列には複数のオブジェクトや他のデータ型を含めることができます。
長所
- 読みやすく記述しやすい:JSON はキーと値のペアでデータを表現するため、この形式は非常に直感的で、人間にとって読みやすく理解しやすいです。また、構文がシンプルであるため、JSON データの記述や修正も非常に容易です。
- 軽量:他のデータフォーマットと比較して、JSON のデータ量は少ないです。これは、データ構造を記述するために追加のタグを使用しないためです。この特性により、JSON はデータの転送や保存において効率的です。
- クロスプラットフォーム互換性:JSON は言語に依存しないテキスト形式であるため、異なるオペレーティングシステムやプログラミング言語間でデータをシームレスに交換することができます。このため、JSON は非常に人気のあるデータ交換フォーマットとなっています。
短所
- 可読性はフォーマットに依存:JSON 自体の構造は明確ですが、適切なフォーマットツールやルールがない場合、生の JSON 文字列は読みづらくなることがあります。特に、大規模な JSON オブジェクトを扱う場合、この問題が顕著です。
- コメントをサポートしていない:JSON フォーマット自体はコメント機能をサポートしていません。そのため、JSON データ内に説明文を直接追加することができません。これは、別の方法(例えば、データに付随するドキュメントを作成するなど)で解決できますが、一つの制約であることには変わりません。
応用シーン
JSON は、フロントエンドとバックエンド間でデータを交換する際によく使用されます。Web API で一般的なデータフォーマットであり、JavaScript で JSON を解析するのが非常に簡単であるだけでなく、他のプログラミング言語でも容易に扱えるためです。その読みやすさから、JSON はログ記録やアプリケーションの稼働状況を追跡する用途にも広く利用されています。
例
- JSON コードスタイルの例。
- VS Code で JSON ファイルを編集する様子。
ファイルの開き方
- メモ帳/Notepad++で開く。
- Apple の TextEdit で開く 。
- Vim エディタで開く。
- Web ブラウザで開く。
- Chrome 拡張機能で開く。
- オンラインツールで開く。
関連 GIS ファイル
GML
SHP
SHX
GeoJSON
参考
- https://www.jetbrains.com/help/objc/json.html
- https://code.visualstudio.com/docs/languages/json
- https://zh.wikipedia.org/wiki/JSON
- https://baike.baidu.com/item/JSON/2462549?fr=ge_ala
- https://www.sohu.com/a/754981165_121846750