๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“’ JavaScript

Javascript JSON.parse(), JSON.stringify() ์‚ฌ์šฉํ•˜๋Š”๋ฒ•

by Tamii 2021. 2. 23.
๋ฐ˜์‘ํ˜•

HTTP 

์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š ๋งํฌ, ๋ฌธ์„œ, ์ด๋ฏธ์ง€

client -์„œ๋ฒ„ 

์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ request (์š”์ฒญ), response (์‘๋‹ต)ํ•˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ 

AJAX (Asynchronous JS and XML)

์›นํŽ˜์ด์ง€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์ ์œผ๋กœ ์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ 

XHR (XML HTTP Request)

: ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” object

 

- XML

markup ์–ธ์–ด์ค‘ ํ•˜๋‚˜๋กœ html๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• 

-> ๋ถˆํ•„์š”ํ•œ ํƒœ๊ทธ๋“ค ๋งŽ์ด ๋“ค์–ด๊ฐ€ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง 

- fetch() API

JSON (JS object Notation)

Object{ key:value} 

 :  ๋ธŒ๋ผ์šฐ์ €, ๋ชจ๋ฐ”์ผ์—์„œ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ๋•Œ , (ํ†ต์‹  ์•„๋‹ˆ์–ด๋„)object๋ฅผ ํŒŒ์ผ์‹œ์Šคํ…œ์— ์ €์žฅํ•  ๋•Œ

- ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ  data format

- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ”Œ๋žซํผ์— ์ƒ๊ด€์—†์ด ์‚ฌ์šฉ๊ฐ€๋Šฅ 

 

 

 


์ƒํ˜ธ ๋ณ€ํ™˜ ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ 

Object ->json

JSON.stringify

jump๋ผ๋Š” ํ•จ์ˆ˜๋Š” ๋ณ€ํ™˜ ์•ˆ๋จ 

const rabbit = {
	name: 'tori'
    date: new Date()
    jump: () =>{
    	console.log(`${name} can jump`);
    }
    
json =JSON.stringify(rabbit);
//{'name: 'tori'}


//key ๊ฐ€ name์ด๋ฉด  'tami'๋ผ๋Š” value๋กœ ์„ค์ •ํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ์›๋ž˜ value
json= JSON.stringfy(rabbit, (key,value)=>{
	console.log(`key: ${key}, value:${value}`);
    return key==='name'? 'tami':value;
});
    

JSON -> Object

JSON>parse

json = JSON.stringfy(rabbit);

const obj = JSON.parse(json);

rabbit.junp() //๊ฐ€๋Šฅ
obj.jump() // ์—†์Œ 

rabbit.birthDate.getDate() // ๊ฐ€๋Šฅ
obj.birthDate // ๋ถˆ๊ฐ€๋Šฅ -> json object๋กœ ๋ฐ”๋€๊ฒƒ์€ string ํ˜•ํƒœ์ด๊ธฐ ๋–„๋ฌธ

const obj = JSON.parse(json, (key,value)=>{
	return key==='birthDate'? new Date(value): value;
});

 

 


Json diff : http://www.jsondiff.com/โ€‹ J

์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญํ–‡์„๋•Œ 1์จฐ,2์งธ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ ๋น„๊ต ๊ฐ€๋Šฅ 

json Beautifier: https://jsonbeautifier.org/

๋ณต๋ถ™ํ•œ json format  ๋‹ค์‹œ ๋ณต๊ตฌ

json Parser : https://jsonparser.org/โ€‹  

json  ํŒŒ์ผ object ํ˜•ํƒœ๋กœ ํ™•์ธ

Json validator :  https://tools.learningcontainer.com/j...

์œ ํšจํ•œ json ๋ฐ์ดํ„ฐ์ธ์ง€ ํ™•์ธ 

 

 

์ฐธ๊ณ ํ•œ ์˜์ƒ : www.youtube.com/watch?v=FN_D4Ihs3LE

๋Œ“๊ธ€