20 JSON

1852 ワード

本章の内容
  • JSON文法を理解する
  • 解析JSON
  • プロローグJSON
  • JSONについて、最も重要なのはデータフォーマットであり、プログラミング言語ではないことを理解することです.
    20.1文法
    JSONの文法は以下の3つのタイプの値を表すことができます.
  • 単純値:JavaScriptと同じシンタックスを使用して、JSONに文字列、数値、ブール値、nullを表すことができます.ただし、特別値undefinedはサポートされていません.
  • オブジェクト:オブジェクトは複雑なデータタイプとして、順序正しいキーパッドのペアのセットを表しています.各キーのペアの中の値は単純な値でもいいし、複雑なデータタイプの値でもいいです.
  • 配列:配列は複雑なデータタイプであり、順序正しい値のセットを表すリストであり、数値インデックスによってその値にアクセスすることができる.配列の値は任意の種類でも良いです.単純な値、オブジェクト、または配列です.
  • 20.1シンプル値
    一番簡単なJSONデータ形式は簡単な値です.JavaScript文字列とJSON文字列の最大の違いは、JSON文字列はダブルクォーテーションを使用しなければならないことです.実際の応用では、より複雑なデータ構造を表すのに、単純な値は全体のデータ構造の一部にすぎない.
    201.2オブジェクト
    JSONの対象は属性に引用符を付けることを要求します.JavaScriptの対象文字の量に比べて、JSONの対象は二つのところが違っています.まず変数を宣言しませんでした.次に、末尾のセミコロンがありません(JavaScript文ではないので、セミコロンは必要ありません).
    201.3配列
    JSON配列も変数とセミコロンがありません.配列とオブジェクトを結合して、より複雑なデータセットを構成することができます.
    20.2解析と序列化
    202.1 JSONオブジェクト
    初期の鶏西器は基本的にJavaScriptを使用したeval()関数である.eval()を使用して、JSONデータ構造の評価にはいくつかの悪意のあるコードが実行される可能性があるので、リスクがあります.JSONオブジェクトには2つの方法がある.stringify()parse().JavaScriptオブジェクトをJSON文字列に順序付けし、JSON文字列を元のJavaScript値に解析するために使用されます.
    20.22プログレッシブオプション
    他の2つのパラメータを受け入れることができ、この2つのパラメータは、JavaScriptオブジェクトを異なる方法でプロビジョニングすることを指定するために使用されます.最初のパラメータはフィルタです.2番目のパラメータはJSON文字列にインデントを保持するかどうかを示すオプションです.
    var jsonText = JSON.stringify(book, ["title", "edition"]);
    var jsonText = JSON.stringify(book, null, 4);
    
  • フィルタ結果
  • 文字列の字下げ
  • toJSON()方法は、任意のオブジェクトにtoJSON()方法を追加することができる.
  • JSON.stringify()にオブジェクトを導入すると、優先的にtoJSON()方法を呼び出すことができる.
    20.2.3解析オプションJSON.parse()方法は、もう一つのパラメータを受信してもよく、このパラメータは関数であり、各キーのペア上で呼び出され、この関数は還元関数と呼ばれる.
    20.3まとめ
    JSONは軽量級のデータフォーマットで、複雑なデータ構造の仕事量を簡単に表すことができます.