ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript学習メモ(6) データ型とJSON形式_基礎知識

JavaScript学習メモ(6) データ型とJSON形式_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:34:471420ブラウズ

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 の例

プロパティを何も持たずにオブジェクトを作成します:

コードをコピーします コードは次のとおりです:

var obj = {};

オブジェクトを作成し、プロパティと初期値を設定します:

コードをコピーします コードは次のとおりです:

var author = {名前: "trigkit4"、年齢: 21、性別: "男性"};
オブジェクトを作成し、プロパティとメソッドを設定します:

コードをコピーします コードは次のとおりです:
var hello ={content:「調子はどうですか?」 :function(){alert(this.content)} };

他のオブジェクト、オブジェクトなどのネストされた配列を作成します:

コードをコピーします コードは次のとおりです:
var company = {名前:"Apple",
製品: 「iPhone」、
会長:{名前:「ティム・クック」、年齢:54}、
従業員:[{名前:"ジョニー・アイブ"、年齢:47}、{名前:"リリ"、年齢:29}]、
};

オブジェクトは、順序のない名前と値のペアのセットです。オブジェクトは左のブランチで始まり、右のブランチで終わります。


値は、二重引用符で囲まれた文字列、または数値、true または false、配列、オブジェクト

です。

データ型:

構造的な観点から見ると、すべてのデータは最終的に 3 つのタイプに分解できます:

最初のタイプはスカラーです。これは、単一の単語「Beijing」など、単一の文字列または数値です。

2 番目のタイプはシーケンスです。つまり、「北京、上海」など、複数の関連データが特定の順序でまとめて配置され、配列またはリストとも呼ばれます。

3 番目のタイプはマッピングです。これは名前と値のペアです。つまり、データには名前と対応する値があり、ハッシュ (「首都: 北京」など) または辞書とも呼ばれます。
プログラミング言語では、配列とオブジェクトさえあれば、あらゆるデータを格納できます。

配列とオブジェクトのもう 1 つの違いは、配列データには「名前」がないのに対し、オブジェクト データには「名前」があることです。

JavaScript には 5 つの単純なデータ型 (基本データ型とも呼ばれます) があります: Unknown、Null、Boolean、Number、String です。複雑なデータ型もあります。オブジェクトは、基本的に順序付けされていない名前と値のペアで構成されます。

値に対して typeof 演算子を使用すると、次のいずれかの文字列が返される場合があります:

●「未定義」 - 値が未定義の場合

● "boolean" - 値がブール値の場合

● "string" - 値が文字列の場合

● "number" - 値が数値の場合

● "object" - 値がオブジェクトまたは null の場合

● "関数" - 値が関数の場合

未定義の型:

var を使用して変数を宣言するが、それを初期化しない場合、`Unknown` 型には値が 1 つだけあります。 この変数の値は未定義です
Null 型

Null 型は値を 1 つだけ持つ 2 番目のデータ型であり、この特別な値は null です。論理的な観点から見ると、null 値は null オブジェクト ポインターを表します。これが、typeof 演算子を使用して null を検出するときに「object」が返される理由です。たとえば、

コードをコピーします コードは次のとおりです:
var car = null;
アラート(車の種類) // "オブジェクト"

数値タイプ

この型は整数と浮動小数点値を表すために使用され、NaN (Not a Number) という特別な値もあります。この値は、値を返すはずのオペランドが値を返さないことを示すために使用されます (エラーがスローされないように)。

文字列型

String 型は、0 個以上の 16 ビット Unicode 文字で構成される文字シーケンス、つまり文字列を表すために使用されます。文字列は一重引用符 (') または二重引用符 (") で表すことができます。

数値、ブール値、オブジェクト、文字列値にはすべて toString() メソッドがあります。ただし、null および未定義の値にはこのメソッドはありません。

ほとんどの場合、toString() メソッドを呼び出すときにパラメーターを渡す必要はありません。ただし、値の toString() メソッドを呼び出すときは、パラメータ、つまり出力値のベースを渡すことができます。

コードをコピーします コードは次のとおりです:
var num = 10;
alert(num.toString()) //"10"
alert(num.toString(2)) //"1010"
alert(num.toString(8)) //"12"
alert(num.toString(10)) //"10"
alert(num.toString(16)); //"a"

変換する値が null か未定義かがわからない場合は、変換関数 String() を使用することもできます。この関数は、任意の型の値を文字列に変換できます。 String() 関数は次の変換規則に従います:

●値に toString() メソッドがある場合、このメソッドを (パラメータなしで) 呼び出し、対応する結果を返します

●値がnullの場合は「null」を返す

●値が未定義の場合は、「未定義」を返します

オブジェクトタイプ

オブジェクトは実際にはデータと関数の集合です。オブジェクトは、作成するオブジェクトのタイプの名前を続けて new 演算子を実行することによって作成できます。カスタム オブジェクトを作成するには、オブジェクト型のインスタンスを作成し、それにプロパティやメソッドを追加します。

var o = new Object();

演算子の種類

コードをコピー コードは次のとおりです:

<スクリプトタイプ="text/javascript">
var s = "ニコラス";
var b =true;
var c = 21;
var u;
var n = null;
var o = {};
var obj = new Object;//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/

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