[모던 JavaScript 튜토리얼] - [5.12] JSON

IRISH·2024년 2월 3일
0

JS

목록 보기
60/80

학습내용

  • JSON은 독자적인 표준을 가진 데이터 형식으로, 대부분의 언어엔 JSON을 쉽게 다룰 수 있게 해주는 라이브러리가 있습니다.
  • JSON은 일반 객체, 배열, 문자열, 숫자, 불린값, null을 지원합니다.
  • JSON.stringify를 사용하면 원하는 값을 JSON으로 직렬화 할 수 있고, JSON.parse를 사용하면 JSON을 본래 값으로 역 직렬화 할 수 있습니다.
  • 위 두 메서드에 함수를 인수로 넘겨주면 원하는 값만 읽거나 쓰는 게 가능합니다.
  • 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 형태로 문자열화 할 수 있고, 반대로도 가능하다.

profile
#Software Engineer #IRISH

0개의 댓글

관련 채용 정보