[TIL] JSON
10929 ワード
📌 HTTP
サーバは、クライアントの要求に応じて応答(応答)
httpを使用してサーバにデータを要求および受信する方法としてAJAXを使用します.
📌 AJAX (Asynchronous JavaScript And XML)
AJAXは、Webページ上で動的にサーバにデータを転送できる技術です.
ブラウザapiによって提供するオブジェクトのサーバ要求および受信データ
📌 JSON (JavaScript Object Notation)
object{key:value}からなる
JSONの勉強方法
(1)objectをJSONにシーケンス化する方法
(2)シリアルJSONをobjectに逆シーケンス化する方法
(1)objectをJSONに変換する方法
stringgifyを使用してjsonファイルに変換
let json = JSON.stringify(true);
json = JSON.stringify(['blue', 'green']);
console.log(json);
//output: ["blue","green"]
-ObjectをJSONに変換const cat = {
name : 'nabi'
color : 'black'
size : null,
birthDate : new Date(),
run : () => console.log(`${name} can run!`);
};
json = JSON.stringify(cat);
console.log(json);
/*output:
{"name":"nabi","color":"white","size":null,"birthdate":"2021-05-21T10:30:38.287Z"} */
ここでjump関数はjsonに含まれていないことがわかります.関数はオブジェクトのデータではないので、関数は除外されます.
同様にsimbolも含まれません.
(1)カンマ後の配列に属性名のみを付けて、
(2)arrayの代わりにコールバック関数を使用すればよい.
(1)
json = JSON.stringify(cat, ['name']);
//output : {"name":"nabi"}
(2) key에 name이 들어오면 이름을 serena로 바꾸고 싶을 경우!
json = JSON.stringify(cat, (key, value) => {
return key === 'name' ? 'serena' : value;
});
console.log(json);
/*output:
{"name":"serena","color":"white","size":null,"birthdate":"2021-05-21T10:38:15.103Z"} */
(2)JSONをobjectに変換する方法
stringで作成したJSONをobjectに変換する方法
.parse()
の使用json = JSON.stringify(cat);
const obj = JSON.parse(json);
console.log(obj);
/* output:
{name: "nabi", color: "white", size: null, birthdate: "2021-05-21T10:42:15.390Z"} */
ただし、birthDate自体は
Date()
というオブジェクトなので、詳細なデータに変換するにはcallback関数を使用します.json = JSON.stringify(cat);
const obj = JSON.parse(json, (key, value) => {
return key === 'birthdate' ? new Date(value) : value;
});
console.log(cat.birthdate.getDate()); // 21
console.log(obj.birthdate.getDate()); // 21
💡 overloading
関数の名前は同じですが、渡されたパラメータと渡されたパラメータに応じて、異なる方法で呼び出すことができます.
役立つサイトの紹介
(1)JSON Diff:データの違いを比較でき、問題をデバッグするときに便利
(2)JSON Beantifier:乱れたフォーマットの整理
(3)JSON Parser:JSONタイプはobjectタイプとして検証可能
(4)JSON Validator:JSON異常の場合、問題点を確認できます
Reference
この問題について([TIL] JSON), 我々は、より多くの情報をここで見つけました https://velog.io/@sebely/TIL-JSONテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol