JSON関連のKnowledge_jsonまとめ

WBOY
WBOYオリジナル
2016-05-16 15:51:371162ブラウズ

JSON: JavaScript オブジェクト記法

JSON 構文ルール
名前と値のペアのデータ
データはカンマで区切られます
中括弧はオブジェクトを保存します
角括弧は配列を保存します

JSON には 6 種類の値があります:

オブジェクト、配列、文​​字列、数値、ブール値、null

JSON オブジェクトは、名前と値のペアの順序付けされていないコレクションです

名前: 任意の文字列
値: 配列やオブジェクトを含む任意のタイプの JSON 値 (オブジェクトはオブジェクトに埋め込むことができます)
注: JSON 文字列では二重引用符を使用する必要があります (一重引用符はエラーを報告します)

1. オブジェクト

JavaScript でリテラルを作成します:

var object = {
  name:"lily",
  age:22
};

または:

var object = {
  "name":"lily",
  "age":22
}; 

JSON:

{
  "name":"lily",
  "age":22
} 

2. 配列

JSON 配列は JavaScript で配列リテラル形式を使用します
拡張子:
配列とオブジェクトを組み合わせると、より複雑なデータの組み合わせを形成できます
例:

[
  {
    "name":"lily",
    "age":22,
    "job":"docter"
  },
  {
    "name":"nicy",
    "age":21,
    "job":"teacher"
  },
  {
    "name":"lily",
    "age":22,
    "job":"AE"
  }
]  

3. 解析とシリアル化

JSON は JavaScript に似た構文を持ち、JSON データ構造を解析して有用な JavaScript オブジェクトにすることができます

1.JSON オブジェクト

JSON データの送受信

JSON データ オブジェクトの読み取り、書き込み、送信、受信を行う場合は、文字列に変換する必要がありますが、文字列から JSON データ オブジェクトに変換できます。 (JavaScript で使用されるのと同じ方法で読み書きします)

JSON オブジェクトには 2 つのメソッドがあります:
① stringify(): JavaScript オブジェクトを JSON 文字列にシリアル化します
② parse(): JSON 文字列をネイティブ JavaScript 値に解析します

例:

var book = {
  title:"professional JavaScript",
  authors:[
    "lily"
  ],
  edition:3,
  year:2011
};
var jsonText = JSON.stringify(book);
alert(jsonText);   //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011}
alert(typeof jsonText);   //string
var bookCopy = JSON.parse(jsonText);
alert(typeof bookCopy);   //object 

この例では、JSON.stringify() を使用して JavaScript オブジェクト ブックを JSON 文字列にシリアル化し、それを jsonText に保存します。JSON 文字列 jsonText を JSON.parse() に直接渡して、対応する JavaScript 値を取得します。


注: JavaScript オブジェクトをシリアル化する場合、最終値は有効な JSON データ型のインスタンス プロパティであり、無効な値はスキップされます

2. シリアル化オプション

JSON.stringify() は、JavaScript オブジェクトをシリアル化するときに 2 つのパラメーターを受け取ることができます
パラメーター 1: フィルター。配列または関数
を指定できます。 パラメータ 2: JSON 文字列
でインデントを保持するかどうかを示すオプション 1) 結果のフィルタリング
フィルターパラメーターが配列の場合、JSON.stringify() の結果には、配列
にリストされている属性のみが含まれます。 例:

var book = {
  "title":"professional JavaScript",
  "authors":[
    "lily"
  ],
  edition:3,
  year:2011
}; 
var jsonText = JSON.stringify(book,["title","edition"]);
alert(jsonText); //{"title":"professional JavaScript","edition":3}
alert(typeof jsonText); // string 

2) 文字列のインデント:
JSON.stringify() メソッドの 3 番目のパラメーターは、結果
のインデントと空白文字を制御するために使用されます。 3) toJSON() メソッド
オブジェクトが独自の JSON データ形式を返すように toJSON() メソッドを定義します

4. JSON アクセス値

最初のタイプ: 単純な配列
['アイテム1','アイテム2','アイテム3']
値: 数値インデックスを介して埋め込み値にアクセスします (最初の項目のインデックスは 0)

['アイテム1','アイテム2','アイテム3']
var items = ['item1','item2','item3'];
alert(items[0]); // item1
2 番目のタイプ: {} を使用してオブジェクトと配列を表現します
{ "キー":"値" }
値: キー名

を通じて埋め込み値にアクセスします。

var oExample = { "名前":"ユリ" };
alert(oExample.name); // ユリ
alert(oExample["name"]); // ユリ
これら 2 つの方法を使用すると、多くのデータ構造をサブレコード (名前付きまたは数値インデックス キーを使用) で記述することができます。

例:

var oNovelist = {
  "firstName":"lily",
  "lastName":"russ",
  "novels":
      [
        {
          "title":"and choas died",
          "year":"1970"
        },
        {
          "title":"the famale man",
          "year":"1976"
        }
      ]
}; 
var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year;
alert(msg);   // lily russ's and choas died was published in1970  
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。