์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ๋ธ๋์น ํ์ธ
- ![rejected]
- ๋งํฌ๋ค์ด
- branch ์์ฑ
- ์ฝ๋๋ธ๋ญ
- branch ์ญ์
- ๋ธ๋์น ์์ฑ
- ์ฝ๋๋ธ๋ก
- Git๋ช ๋ น์ด
- branch ํ์ธ
- markdown
- ๋ธ๋์น ์ญ์
Archives
- Today
- Total
DevLog
TIL(20210716) - JSON & XML ๋ณธ๋ฌธ
๐ Daily
- JavaScript ๋น๋๊ธฐ JSON ๊ฐ๋ ํ์ต
- XML๊ณผ JSON์ ๊ณตํต์ ๊ณผ ์ฐจ์ด์ ํ์ต
๐ค Learned
JSON(JavaScript Object Notation)
- JSON์ ์ข ๋ ์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ณ ์ ์ฅํ๊ธฐ ์ํ์ฌ ๋ง๋ค์ด์ง ํ ์คํธ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๊ตํ ํ์ค์ ๋๋ค.
- JSON์ XML์ ๋์์ผ๋ก์ ์ข ๋ ์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ณ ์ ์ฅํ๊ธฐ ์ํ์ฌ ๊ณ ์๋์์ต๋ค.
- ๋ํ, JSON์ ํ ์คํธ ๊ธฐ๋ฐ์ด๋ฏ๋ก ์ด๋ ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ JSON ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค.
XML(EXtensible Markup Language)
- XML์ HTML๊ณผ ๋งค์ฐ ๋น์ทํ ๋ฌธ์ ๊ธฐ๋ฐ์ ๋งํฌ์ ์ธ์ด(text-based markup language)์ ๋๋ค.
- ์ด ์ธ์ด๋ ์ฌ๋๊ณผ ๊ธฐ๊ณ๊ฐ ๋์์ ์ฝ๊ธฐ ํธํ ๊ตฌ์กฐ๋ก ๋์ด ์์ต๋๋ค.
- XML์ HTML์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ชฉ์ ์ด ์๋, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ๋ฌํ ๋ชฉ์ ์ผ๋ก๋ง ๋ง๋ค์ด์ก์ต๋๋ค.
- XML ํ๊ทธ๋ HTML ํ๊ทธ์ฒ๋ผ ๋ฏธ๋ฆฌ ์ ์๋์ด ์์ง ์๊ณ , ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ ์ ์์ต๋๋ค.
JSON๊ณผ XML์ ๊ณตํต์
- ๋ ๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ๋ฌํ๊ธฐ ์ํด ๊ณ ์๋์์ต๋๋ค.
- ๋ ๋ค ๊ธฐ๊ณ๋ฟ๋ง ์๋๋ผ ์ฌ๋๋ ์ฝ๊ฒ ์ฝ์ ์ ์์ต๋๋ค.
- ๋ ๋ค ๊ณ์ธต์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
- ๋ ๋ค ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ํด ํ์ฑ๋ ์ ์์ต๋๋ค.
- ๋ ๋ค XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ก๋ฐ์ ์ ์์ต๋๋ค.
JSON๊ณผ XML์ ์ฐจ์ด์
- JSON์ ์ข ๋ฃ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- JSON์ ๊ตฌ๋ฌธ์ด XML์ ๊ตฌ๋ฌธ๋ณด๋ค ๋ ์งง์ต๋๋ค.
- JSON ๋ฐ์ดํฐ๊ฐ XML ๋ฐ์ดํฐ๋ณด๋ค ๋ ๋นจ๋ฆฌ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค.
- XML์ ๋ฐฐ์ด์ ์ฌ์ฉํ ์ ์์ง๋ง, JSON์ ๋ฐฐ์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- XML์ XML ํ์๋ก ํ์ฑ๋๋ฉฐ, JSON์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ค ํจ์์ธ eval() ํจ์๋ก ํ์ฑ๋ฉ๋๋ค.
XML ์์
<dog>
<name>์น์ฌ</name>
<family>์ธ๊ฐ<family>
<age>28</age>
<weight>70</weight>
</dog>
JSON ์์
{
"name": "์น์ฌ",
"family": "์ธ๊ฐ",
"age": 28,
"weight": 70
}
1. JSON.stringify() ๋ฉ์๋
JSON.stringify() ๋ฉ์๋๋ ์ธ์๋ก ์ ๋ฌ๋ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํํฉ๋๋ค.
๋ฌธ๋ฒ)
JSON.stringify(value)
์์ )
// 1. Object to JSON
// stringfy(obj)
let json = JSON.stringify(['apple', 'banana']);
console.log(json);
const rabbit = {
name: 'tori',
color: 'white',
size: null,
birthDate: new Date(),
jump: () => {
console.log(`${name} can jump!`);
},
};
json = JSON.stringify(rabbit);
console.log(json);
json = JSON.stringify(rabbit, ['name', 'color', 'size']);
console.log(json);
json = JSON.stringify(rabbit, (key, value) => {
console.log(`key: ${key}, value: ${value}`);
return key === 'name' ? 'Seungjae' : value;
});
console.log(json);
2. JSON.parse() ๋ฉ์๋
JSON.parse() ๋ฉ์๋๋ JSON.stringify() ๋ฉ์๋์๋ ๋ฐ๋๋ก ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ฌธ์์ด์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๋ณํํ์ฌ ๋ฐํํฉ๋๋ค.
๋ฌธ๋ฒ)
JSON.parse(text)
์์ )
// 2. JSON to Object
// parse(json)
console.clear();
json = JSON.stringify(rabbit);
console.log(json);
const obj = JSON.parse(json, (key, value) => {
console.log(`key: ${key}, value: ${value}`);
return key === 'birthDate' ? new Date(value) : value;
});
console.log(obj);
rabbit.jump();
//obj.jump();
console.log(rabbit.birthDate.getDate());
console.log(obj.birthDate.getDate());
๐ Tomorrow
- ํด๋์ค์ ์ค๋ธ์ ํธ
- 10๊ฐ์ง ๋ฐฐ์ดํจ์
- ๋น๋๊ธฐ callback
- ํ๋ก๋ฏธ์ค
- async & await
'๐ค TIL(Today I Learned)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL(20210718) - sort() ๋ฉ์๋ ์ฌ์ฉ๋ฒ (0) | 2021.07.18 |
---|---|
TIL(20210717) - ํด๋์ค์ ์ค๋ธ์ ํธ์ ์ฐจ์ด์ , ํด๋์ค ์ ๋ฆฌ (0) | 2021.07.17 |
TIL(20210715) - HA1 ๋ (0) | 2021.07.15 |
TIL(20210708) - JSX๊ท์น (0) | 2021.07.08 |
TIL(20210707) - ๊ณ ์ฐจํจ์ (0) | 2021.07.07 |
Comments