JSON and Copy
JSON? ๐ฏ
JSON์ด ๋ฌด์์ธ์ง ์๊ธฐ ์ํด์ ์ฝ๊ฐ์ ๋ฐฐ๊ฒฝ์ง์์ด ํ์ํ๋ค.
์์ฝ : ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ์ ํ๊ธฐ์ํด markup์ธ์ด์ค ํ๋์ธ XML์ ๋ง์ด ์ผ๋๋ฐ ์ง๊ธ์ JSON์ ์ฌ์ฉํ๋ค.
JSON์ด๋
- ๋ธ๋ผ์ฐ์ ๋ฟ๋ง์๋๋ผ ๋ชจ๋ฐ์ผ์์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์๋, ๋ ํต์ ๋ชฉ์ ์ด์๋ Object๋ฅผ ํ์ผ์์คํ ์ ์ ์ฅํ ๋๋ ์ฌ์ฉ๋จ
- ํ ์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ์ฌ ๋ง๋ค์๊ธฐ์ ๊ฐ๋ณ๊ณ key์ value๋ก ๊ตฌ์ฑ๋์ด ์ฝ๊ธฐ ์ฝ๋ค.
- ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง๋ ฌํํ์ฌ ์๋ฒ์ ์ฃผ๊ณ ๋ฐ์๋ ์ฌ์ฉํจ
- ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์ธ์ด๋ ํ๋ซํผ์์๋ ์ฌ์ฉํ ์ ์๋ค.
์์ฝ : ํ ์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ์ฌ key์ value๋ก ๊ตฌ์ฑ๋์๊ณ ์๋ฒ์ ํต์ ์ ํ๊ธฐ์ํ markup์ธ์ด์ด๋ค.
JSON ์ฌ์ฉ๋ฐฉ๋ฒ
interface JSON {
parse(
text: string,
reviver?: (this: any, key: string, value: any) => any
): any; //์ค๋ธ์ ํธ๋ก
stringify(
value: any,
replacer?: (this: any, key: string, value: any) => any,
space?: string | number
): string; //์คํธ๋ง์ผ๋ก
stringify(
value: any,
replacer?: (number | string)[] | null,
space?: string | number
): string; //์คํธ๋ง์ผ๋ก
}
1. Object to JSON
let person = {
name: "jh",
age: 28,
tall: null,
day: new Date(),
canWhat() {
console.log(`${this.name} can eat rice`);
},
};
JSON.stringify(person); // {"name":"jh","age":28,"tall":null,"day":"๋์ถฉ์๊ฐ๋ค"}
JSON.stringify(person, ["name"]); // {"name":"jh"}
JSON.stringify(person, (key, value) => {
console.log(key, value);
}); // ํ๋ฒํด๋ณด์
2. JSON to Object
JSON.parse(person, (key, value) => {
return key === "day" ? new Date(value) : value;
});
์ ์ฉํ์ฌ์ดํธ : JSONํ์ผ ๋น๊ต JSONํ์ผ ์ ํจํ๊ฐ