よくある質問
JSONとは何ですか?
JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットです。人間が読み書きしやすく、機械が解析・生成しやすい形式です。JSONはJavaScriptオブジェクトリテラル構文に基づいていますが、言語に依存しないため、ほとんどすべてのプログラミング言語で使用されています。
JSONとXMLの違いは?
JSONとXMLはどちらもデータ交換フォーマットですが、JSONはより簡潔で読みやすいです。JSONは軽量でネイティブJavaScriptオブジェクトに直接変換でき、XMLよりも解析が速いです。XMLはコメント、名前空間、メタデータをサポートし、ドキュメント指向のデータにより適しています。
一般的なJSON構文エラーは?
一般的なJSONエラーには、末尾のカンマ([1,2,3,])、文字列の単一引用符('value'の代わりに"value"を使用)、引用符のないキー({key: "value"}の代わりに{"key": "value"}を使用)、コメントの使用(JSONはコメントをサポートしていません)、特殊文字のエスケープ忘れなどがあります。
JSONがサポートするデータ型は?
JSONは6つのデータ型をサポートしています:文字列(二重引用符で囲む)、数値(整数または浮動小数点)、ブール値(trueまたはfalse)、null、配列(順序付きリスト)、オブジェクト(キー/値ペア)。日付や関数などの型はネイティブでサポートされておらず、文字列として表現する必要があります。
JavaScriptでJSONを解析する方法
JavaScriptでは、JSON.parse()とJSON.stringify()メソッドを使用できます:
JavaScript
const obj = JSON.parse(jsonString);Python
import json
data = json.loads(json_string)Go
json.Unmarshal([]byte(str), &v)JSONフォーマットと圧縮の違いは?
JSONフォーマット(美化)は、インデント、改行、スペースを追加して、人間が読みやすくします。JSONの圧縮は、すべての不要な空白を削除してファイルサイズを縮小し、ネットワーク転送を最適化します。開発時にはフォーマット、本番環境では圧縮されたJSONを使用してください。
なぜJSONはAPIで広く使われているのですか?
JSONは軽量で、解析が速く、言語間で読み書きが簡単なため、APIで好まれています。JavaScriptオブジェクトに直接マッピングされるため、Webアプリケーションに最適です。ほぼすべてのプログラミング言語にはJSONライブラリがあり、REST APIの標準データ形式になっています。
JSONを検証する方法
JSONの検証は、構文的に正しく、オプションで特定のスキーマに準拠していることを確認します。ほとんどの言語の組み込みJSONパーサーで解析を試み、例外をキャッチすることで検証できます。より厳密な検証には、必要なフィールドとデータ型を定義するJSON Schemaを使用してください。