JSON とは
JSON: JavaScript オブジェクト表記法。
JSON の形式は、中括弧「{}」で囲まれた項目のリストであり、各項目はカンマ (,) で区切られ、項目は属性名と属性値をコロン (:) で区切ったものになります。これは典型的な辞書表現であり、JavaScript のオブジェクトが辞書構造であることを再度示しています。オブジェクトがどれほど複雑であっても、JSON コードを使用して作成して割り当てることができます。
JSON 構造
JSON には 2 つの構造があります
Json は JavaScript では単にオブジェクトと配列を意味するため、この 2 つの構造はオブジェクトと配列であり、この 2 つの構造を介してさまざまな複雑な構造を表現できます。
1. オブジェクト: オブジェクトは、「{}」で囲まれた内容として js で表現されます。データ構造は、オブジェクト内の {key:value,key:value,...} というキーと値のペア構造です。 - 指向言語では、key がオブジェクトの属性、value が対応する属性値であるため、属性値を取得するための value メソッドは数値であることが分かりやすいです。文字列、配列、オブジェクト。
2. 配列: js の配列は括弧 "[]" で囲まれた内容で、データ構造は ["java"、"javascript"、"vb",...]、値のメソッドとすべての言語で同じインデックスを使用して取得する場合と同様に、フィールド値のタイプは数値、文字列、配列、オブジェクトになります。
オブジェクトと配列の 2 つの構造により、複雑なデータ構造を組み合わせることができます。
JSON 構文ルール
JSON 構文は、JavaScript Object Notation 構文のサブセットです。
名前と値のペアのデータ
カンマ区切りのデータ
中括弧はオブジェクトを保存します
角括弧は配列を保存します
JSON 値は次のとおりです:
数値 (整数または浮動小数点)
文字列 (二重引用符で囲む)
論理値 (true または false)
配列 (角括弧内)
オブジェクト (中括弧内)
null
1) 並列データはカンマ(",")で区切ります。
2) マッピングはコロン (": ") で表されます。
3) 並列データの集合 (配列) は角括弧 ("[]") で表されます。
4) マップされたコレクション (オブジェクト) は中括弧 ("{}") で表されます。
JSON の例
プロパティを何も持たずにオブジェクトを作成します:
オブジェクトを作成し、プロパティと初期値を設定します:
オブジェクトは、順序のない名前と値のペアのセットです。オブジェクトは左のブランチで始まり、右のブランチで終わります。
値は、二重引用符で囲まれた文字列、または数値、true または false、配列、オブジェクト
データ型:
構造的な観点から見ると、すべてのデータは最終的に 3 つのタイプに分解できます:
最初のタイプはスカラーです。これは、単一の単語「Beijing」など、単一の文字列または数値です。
2 番目のタイプはシーケンスです。つまり、「北京、上海」など、複数の関連データが特定の順序でまとめて配置され、配列またはリストとも呼ばれます。
3 番目のタイプはマッピングです。これは名前と値のペアです。つまり、データには名前と対応する値があり、ハッシュ (「首都: 北京」など) または辞書とも呼ばれます。
プログラミング言語では、配列とオブジェクトさえあれば、あらゆるデータを格納できます。
配列とオブジェクトのもう 1 つの違いは、配列データには「名前」がないのに対し、オブジェクト データには「名前」があることです。
JavaScript には 5 つの単純なデータ型 (基本データ型とも呼ばれます) があります: Unknown、Null、Boolean、Number、String です。複雑なデータ型もあります。オブジェクトは、基本的に順序付けされていない名前と値のペアで構成されます。
値に対して typeof 演算子を使用すると、次のいずれかの文字列が返される場合があります:
●「未定義」 - 値が未定義の場合
● "boolean" - 値がブール値の場合
● "string" - 値が文字列の場合
● "number" - 値が数値の場合
● "object" - 値がオブジェクトまたは null の場合
● "関数" - 値が関数の場合
未定義の型:
var を使用して変数を宣言するが、それを初期化しない場合、`Unknown` 型には値が 1 つだけあります。
この変数の値は未定義です
Null 型
この型は整数と浮動小数点値を表すために使用され、NaN (Not a Number) という特別な値もあります。この値は、値を返すはずのオペランドが値を返さないことを示すために使用されます (エラーがスローされないように)。
文字列型
String 型は、0 個以上の 16 ビット Unicode 文字で構成される文字シーケンス、つまり文字列を表すために使用されます。文字列は一重引用符 (') または二重引用符 (") で表すことができます。
数値、ブール値、オブジェクト、文字列値にはすべて toString() メソッドがあります。ただし、null および未定義の値にはこのメソッドはありません。
●値に toString() メソッドがある場合、このメソッドを (パラメータなしで) 呼び出し、対応する結果を返します
●値がnullの場合は「null」を返す
●値が未定義の場合は、「未定義」を返します
オブジェクトタイプ
オブジェクトは実際にはデータと関数の集合です。オブジェクトは、作成するオブジェクトのタイプの名前を続けて new 演算子を実行することによって作成できます。カスタム オブジェクトを作成するには、オブジェクト型のインスタンスを作成し、それにプロパティやメソッドを追加します。
var o = new Object();
演算子の種類
alert(typeof s);//string
alert(typeof b);//boolean
alert(typeof c);//number
alert(typeof u);//未定義
alert(typeof n);//オブジェクト
alert(typeof o);//オブジェクト
alert(typeof obj);//オブジェクト
Json オンライン解析
Json オンライン分析: http://json.tongxiehui.net/