JavaScript JSON
16427 ワード
📍 JSONとは?
JSON(JavaScript Object Notation)の略で、JavaScriptでオブジェクトを作成する際に使用される式です.
▼代表的にサーバとの通信でデータを交換するためのフォーマット.
データを格納または転送するときによく使用される軽量レベルのDATA交換フォーマット.
JSONは単なるデータフォーマットであり、通信方法やプログラミング構文ではなく、データを表す方法です.
いくつかの表現では、オブジェクトをオブジェクトにそのまま転送するか、アレイを他のシステムにそのまま転送することを目的とする異なる言語間のデータ基準があります.
ネットワークを介してオブジェクトを文字列に変換するプロセスを文字列化と呼びます.
文字列からネイティブオブジェクトに変換することをparsingと呼びます.
1.XMLとJSON
サーバとデータを交換する場合、JSONだけでなく、いろいろな方法があります.代表的にはXMLを使用していますが、その後最も多く使用されたのはJSONです.🤔
XML
JSON
これは、
2.JSONの特徴と応用
通常、サーバとクライアント間のコミュニケーションで使用されます.
JavaScriptオブジェクトタグ法に似ています.JSONドキュメントフォーマットは、JavaScriptオブジェクトのフォーマットに基づいて作成されます.
JavaScriptを使用すると、JSON形式のドキュメントをJavaScriptオブジェクトに簡単に変換できます.
他のプログラミング言語を使用すると、特定の言語に依存せず、プログラミング言語やプラットフォームに依存せずに簡単に作成できます.
ほとんどのプログラミング言語では、JSON形式のデータを処理するライブラリが提供されています.
Ajaxを使用してサーバと通信し、データの送受信を容易に行うことができます.
ブラウザだけでなく、移動中にサーバとデータを交換する場合や、サーバと通信しない場合にファイルシステムにオブジェクトを保存する場合にもよく使われます.
JSON式は分かりやすく、データ量が少ないため、最近ではXMLの代わりにJSONが設定や転送データを格納するのによく使われています.
3.JSONのデメリット
JSONはXMLに比べてセキュリティ面で弱点がある.
内容は含蓄があるので、内容の意味がわかりにくいです.
XMLと比較して、より小さなデータ転送に適していますが、大容量のデータ転送には適していません.
AJAXは、データだけでなく、JSそのものも伝えることができます.つまり、JSONデータかと思ったら、受信後に悪意のあるスクリプトが発生する可能性があります.△これがJSON関連ライブラリを単独で使用する理由です.
4.JSON形式
1.name-value形式の対
{
"firstName": "seul",
"lastName": "kim",
"email": "[email protected]"
}
2.値のシリアル表形式{
"firstName": "seul",
"lastName": "kim",
"email": "[email protected]",
"hobby": ["painting","game"]
}
✍️1)JSONでは、大かっこ
{}
が対象、大かっこ[]
が配列を表す.2)JSONのオブジェクトはname-valueペアの集合であり、nameはstringでなければならず、valueはデフォルトのデータ型または配列、オブジェクトでなければならない.
3)各ペアはカンマ
,
で区切られ、名前と値は:
で接続されている.+)上の
"hobby": ["painting","game"]
これも{}
の中にあるのでname-valueの対です.+) ex.
[ 10, {"v": 20}, [30, "마흔"] ]
配列を示す括弧[]
内には、基本資料型10
、対象{ "v" : 20 }
、配列[30,"마흔]
が見られる.5.JavaScriptオブジェクトとJSON形式テキストの変換
JSON.stringgify(JSON文字列に変換する値)
:JavaScriptオブジェクトをJSONテキストに変換します.
JSON.parse(JSONに変換する文字列)
:JSON形式のテキストをJavaScriptオブジェクトに変換します.
JSONを学ぶポイントは?
(1)オブジェクトをシーケンス化してJSONに変換する方法
(2)逆シーケンス化(Serialize)JSONをオブジェクトに変換する方法
ちょくれつ
:データ構造またはオブジェクトのステータスを(同じまたは異なる)コンピュータ環境に格納し、後で再構築可能なフォーマットに変換するプロセス.
では、例を作成して、srtifyがどのように利用できるか、文字列で作成したJSONをObjectに変換する方法を見てみましょう.😀
5-1. Object to JSON
(1)Booleanタイプ(Primitive type)をJSONに変換▼
let json = JSON.stringify(true);
console.log(json); // true
(2)配列をJSONに変換▼let json1 = JSON.stringify(['apple', 'banana']);
console.log(json1); // ["apple", "banana"]
const rabbit = {
name: 'tori',
color: 'white',
size: null,
birthDate: new Date(),
symbol: Symbol('id'),
jump: () => {
console.log(`${this.name} can jump!`);
}
};
json = JSON.stringify(rabbit);
console.log(json);
// {"name":"tori","color":"white","size":null,"birthDate":"2021-12-15T11:38:46.722Z"}
JavaScriptのみのデータ(構成部品)もJSONには含まれません.
//ex.1)
json = JSON.stringify(rabbit, ['name', 'color']);
console.log(json);
// {"name":"tori","color":"white"}
//ex.2)
json = JSON.stringify(rabbit, (key, value) => {
return key === 'name' ? 'seul' : value;
});
console.log(json);
// {"name":"seul","color":"white","size":null,"birthDate":"2021-12-15T12:11:15.706Z"}
ex.1
ウォンのpropertyのみを選択して定義すれば、このpropertyを変換するしかない.ex.2
コールバック関数も使用できます.parse(json)
const rabbit = {
name: 'tori',
color: 'white',
size: null,
birthDate: new Date(),
symbol: Symbol('id'),
jump: () => {
console.log(`${this.name} can jump!`);
}
};
json = JSON.stringify(rabbit);
const obj = JSON.parse(json); // 다시 오브젝트로 변환
console.log(obj);
rabbit.jump(); // can jump!
obj.jump(); // Error
なぜエラーが発生したのですか?これは,JSONに変換する際に関数を含まず,データのみを渡してからJSONをオブジェクトに変換する際にエラーが発生したためである.(ジャンプ方法は含まれません.)
どうして
jump
の名前がリストされていませんか.:ウサギオブジェクトでは、nameにアクセスするには、矢印関数ではなく通常の関数として宣言する必要があります.(オブジェクトのメソッドを矢印関数として宣言する場合は、グローバルオブジェクトを指すため、ウィンドウ出力と呼ばれます.🧐)
reference
coding-everybody
usefultoknow_JSON
khoa_JSON
ZeddiOS
wiki-serialization
dream_coding
JSON
Reference
この問題について(JavaScript JSON), 我々は、より多くの情報をここで見つけました https://velog.io/@seul06/JavaScript-JSONテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol