null
을 지원합니다.JSON.stringify
는 객체에 toJSON
메서드가 있으면 이를 자동으로 호출해줍니다.let student = {
name: 'John',
age: 30,
isAdmin: false,
courses: ['html', 'css', 'js'],
wife: null
};
let json = JSON.stringify(student);
console.log(typeof json); // 문자열이네요!
console.log(json);
/* JSON으로 인코딩된 객체:
{
"name": "John",
"age": 30,
"isAdmin": false,
"courses": ["html", "css", "js"],
"wife": null
}
*/
// ------------------------------------------------------------
/* JSON.parse */
// 문자열로 변환된 배열
let numbers = "[0, 1, 2, 3]";
numbers = JSON.parse(numbers);
console.log( numbers[1] ); // 1
→ 1번
/* 객체를 JSON으로 바꾼 후 다시 객체로 바꾸기
user를 JSON 형태의 문자열로 바꾼 다음 이를 다시 객체로 바꾼 후 제2의 변수에 저장해보세요.
let user = {
name: "John Smith",
age: 35
};
*/
// 내 풀이 = 해답 코드
let user = {
name: "John Smith",
age: 35
};
let rst = JSON.parse(JSON.stringify(user));
console.log(rst);
학교 졸업과제 프로젝트 때에도 Java 와 Android Studio 때문에 JSON을 사용해본 적이 있다. 당시에는 졸업과제를 수행하느라 급급해 JSON이 무엇인지, 어떻게 하면 실용적으로 사용할 수 있는지에 대해 공부를 하지 못했다. (지금이라도 할 수 있어서 다행인 것 같다.)
종합해보면, JSON은 데이터를 주고받기 위한 포맷 형태이고, 객체나 배열 및 정수 등을 JSON 형태로 문자열화 할 수 있고, 반대로도 가능하다.