このチュートリアルでは、 JSONデータ交換形式。この投稿では、JSONオブジェクトの構造、JSON構文規則、JSONとのデータ交換、およびJSONのプログラミング言語サポートについて説明します。

JSONとは何ですか?

  • JSON 軽量で人間が読める形式のデータ交換形式です。
  • JSONはを保存するために使用されます collection 名前と値のペアまたは 注文リスト 値の。
  • JSONはシリアル化に役立ちます objects、 と arrays ネットワーク経由で送信するため。
  • JSONは解析と生成が非常に簡単で、XMLのような完全なマークアップ構造を使用しません。
  • JSONは、高速な非同期クライアント/サーバー通信のためのXML形式の一般的な代替手段になりました。
  • すべてのJSONファイルの拡張子は .json.

JSONオブジェクトの構造:

JSONは次のようになります。

  1. 名前と値のペアのコレクション:

    The 名前 二重引用符で囲まれた文字列である必要があります。そしてその 価値 別のことができます stringアレイ番号, boolean また ヌル。値自体は別のJSONにすることができます object.

  2. 注文したコレクション:

    JSONを使用して、オブジェクト/値の順序付けられたコレクションを格納できます。このコレクションは、プログラミング言語のプリミティブのアレイとオブジェクトのアレイに似ています。

JSONの例:

次の例は、personオブジェクトのJSON表現を示しています。

 
上記の例では、

  1. 最初の2つの名前と値のペアは、文字列を別の文字列にマップします。
  2. 3番目の名前と値のペアは文字列をマップします age 番号25で。
  3. 4番目の名前と値のペアは文字列をマップします children 空のアレイで [].
  4. 5番目の名前と値のペアは文字列をマップします spouse とともに null 価値。
  5. 6番目の名前と値のペアは文字列をマップします address 別のJSONオブジェクトを使用します。
  6. 7番目の名前と値のペアは文字列をマップします phoneNumbers JSONオブジェクトのアレイを使用します。

JSON構文規則:

  • JSON object に囲まれています 中括弧 {}.
  • 名前と値のペアは、 結腸 (:) で区切られています コンマ (,).
  • アン アレイ で始まる 左角かっこ で終わります 右角かっこ [].
  • 数字の末尾のコンマと先行ゼロは禁止されています。
  • 8進数および16進数の形式は許可されていません。
  • Each JSON内は一意であり、二重引用符で囲む必要があります。
  • The boolean タイプは2つの特別な値にのみ一致します。 truefalse およびNULL値は、 null リテラル(引用符なし)。

JavaScript JSON組み込みライブラリ:

JavaScript JSON組み込みライブラリは、JSONオブジェクトをデコードおよびエンコードするための2つの関数を提供します– JSON.parse()JSON.stringify().

 
1. JSON.stringify() JavaScriptオブジェクトに対応するJSON文字列を返します。

 
出力:

{“fruit”:”Apple”,
“types”:[“Small”,”Medium”,”Large”],
“quantity”:1000}

 
2. JSON.parse() JSON文字列をJavaScriptオブジェクトとしてデコードする安全で高速な方法です。

 
出力:

Apple,
[Small,Medium,Large],
1000

 
また、JSON文字列をJavaScriptオブジェクトに解析して、 eval() 括弧で囲まれたJSON文字列の関数。 JSONはJavaScriptから派生しているため、これは機能します。 eval() は邪悪な機能であり、絶対に避けなければなりません。それの訳は eval 発信者の権限でユーザーのマシン上で悪意のあるスクリプトを実行する可能性があります。さらに、悪意のあるコードは、 eval() が呼び出され、Webサイトが攻撃に対して脆弱になりました。 JSON.parse() は、悪意のあるコードで安全に失敗するevalの安全で高速な代替手段です。 JSONは、ほとんどすべての最新のブラウザーに含まれています。古いバージョンのブラウザの場合は、次のような外部JavaScriptライブラリを使用してください ダグラス・クロックフォードのjson2.js.

JSONを使用したデータ交換:

JSONは主に、ブラウザとサーバー間でシリアル化されたテキストを送信するために使用されます。

  1. データの送信:

    クライアント側では、JavaScriptオブジェクトは最初にを使用してJSON文字列に変換されます JSON.stringify() 方法。そして、結果の文字列は、リクエストの本文またはパラメータでサーバーに送信されます。

  2. データ受信中:

    サーバーは、応答として別のJSON文字列を返す場合があります。サーバーから受信したJSONは、を使用してJavaScriptオブジェクトに変換できます JSON.parse() 方法。

JSONの公式メディアタイプは application/json.

プログラミング言語のサポート:

元々、JSONはJavaScript言語のサブセットであることが意図されていましたが、言語に依存しないデータ形式のため、現在、ほとんどすべての主要なプログラミング言語がJSONをサポートしています。 JSONの公式ウェブサイト JSONの解析と生成に使用できるさまざまなプログラミング言語で利用可能な主要なJSONライブラリを一覧表示します。たとえば、Javaで最も人気のあるJSONライブラリは、GSON、JSON.simple、Jackson、およびJSONPです。

JSONデータ交換フォーマットについては以上です。

 
便利なリンク: