<aside> 💡 목차

</aside>

1. JSON 구조

<aside> 💡 JSON 내부에는 JS에서 사용할 수 있는 기본 데이터 타입인 문자열, 숫자, 배열, 불리언, 그 밖의 다른 객체 또한 포함 가능

JS의 배열과 객체를 활용하여 어떠한 자료의 형태를 표현하는 형식

'key-value' 즉, '키-값'를 쌍으로 데이터를 구조화하는데 사용

형태 자체는 js의 객체와 유사하지만, json은 순수한 텍스트 형식이기 때문에 키를 항상 따옴표로 묶어야 함.

값에는 함수 등은 사용 불가

문자열은 큰따옴표 사용을 권장

</aside>

2. JSON 사용

<aside> 💡 서로 다른 시스템 간에 구조화된 데이터를 전송하는데 사용

json형태로 여러 자료형을 나타내는 방법

</aside>

let data = [
  {
    name: '테드',
    age: 25,
    job: 'developer',
    hobby: {
      first: 'exercise',
      second: 'music',
    },
    lecture: ['프론트엔드', '자바', 'DBMS'],
  },
  {
    name: '테드친구',
    age: 25,
    job: 'employee',
    hobby: {
      first: 'baseball',
      second: 'health',
    },
    lecture: ['백엔드', '파이썬', 'Kotlin'],
  },
];

1) JSON.stringify()

<aside> 💡 자바스크립트 객체를 JSON 문자열로 변환

데이터에 바로 적용 X - JSON객체에 사용

</aside>

JSON.stringify(자바스크립트 객체)

아래는 콘솔창 내역

console.log('들여쓰기 되어있지 않은 JSON 문자열 데이터');
console.log(JSON.stringify(data));
[{"name":"테드","age":25,"job":"developer","hobby":{"first":"exercise","second":"music"},"lecture":["프론트엔드","자바","DBMS"]},{"name":"테드친구","age":25,"job":"employee","hobby":{"first":"baseball","second":"health"},"lecture":["백엔드","파이썬","Kotlin"]}]

JSON.stringify()의 2번째 인자

<aside> 💡 객체에서 어떤 속성만 선택해서 추출하고 싶을 때 사용

거의 사용하지 X (일반적으로 null을 사용)

</aside>

console.log('name과 age 속성만 포함하여 출력');
console.log(JSON.stringify(data, ['name', 'age'], 2));