Mi Lugarcito

JavaScript - JSON 본문

JavaScript

JavaScript - JSON

selene park 2021. 3. 28. 02:56

Object Serialize : 직렬화 해서 json으로 변환

deserialize : object로 다시 변환하는것

 

overloading : 함수의 이름은 동일하지만 어떤 종류의 파라미터를 (전달되는 매개변수) 전달하느냐, 몇개의 파라미터를 전달하느냐에 따라서 각각 다른 방식으로 호출이 가능하다 

 

//Json
//JavaScript Object Notation

//1. Object to JSON
//stringify(obj)
let json = JSON.stringify(true);
console.log(json);

json=JSON.stringify(['apple', 'banana']);
console.log(json);//["apple","banana"] 배열타입처럼 보여진다

//object  정의
const rabbit = {
    name : 'selene',
    size : 'white',
    size:null,
    birthday : new Date(),//date오브젝트 정의 
    jump:()=>{//콘솔 한줄 출력이라서 괄호 생략 가능 
        console.log(`${name} can jump`);
    }
};
json=JSON.stringify(rabbit);
console.log(json);
//{"name":"selene","size":null,"birthday":"2021-03-28T01:58:05.114Z"}
//여기서 jump 라는 함수는 json 에 포함되지 않는다(함수는 object에 있는 데이터가 아니다 )

json=JSON.stringify(rabbit, ["name"]);//{"name":"selene"}
console.log(json);

//callback 함수로 호출하기 
json=JSON.stringify(rabbit, (key,value)=>{
    console.log(`key:${key}, value:${value}`);
    return key==='name' ? 'selene' : value;
});
console.log(json);






//2, Json to Object
//parse
console.clear();
json=JSON.stringify(rabbit);
console.log(json);// birthday가 string 형태로 만들어졌음 "birthday":"2021-03-28T02:10:01.541Z"
const obj = JSON.parse(json, (key, value) =>{
    console.log(`key:${key}, value:${value}`);
    return key === 'birthday' ? new Date(value) : value;//Sun Mar 28 2021 11:12:35 GMT+0900 (대한민국 표준시)
});
console.log(obj);//{name: "selene", size: null, birthday: "2021-03-28T02:06:07.686Z"}
rabbit.jump();// can jump
//obj.jump();//error!

console.log(rabbit.birthday.getDate());//28
console.log(obj.birthday);//2021-03-28T02:08:53.600Z(json 에 있는 데이터 자체 string 이 object 에 할당이 되어서 @)
console.log(obj.birthday.getDate());//28

 

www.jsondiff.com/

 

JSON Diff - The semantic JSON compare tool

 

www.jsondiff.com

codebeautify.org/jsonviewer

 

Best JSON Viewer and JSON Beautifier Online

 

codebeautify.org

json.parser.online.fr/

 

Json Parser Online

 

json.parser.online.fr

jsonformatter.curiousconcept.com/