JSON ?

Kyoungchan Cho·2022년 8월 25일
0
post-thumbnail

Intro

위코드 백엔드 2주차, Node.js의 built-in 모듈인 http API를 만드는 과정 중

 request.on("end", () => {
 const user = JSON.parse(body);
response.writeHead(200, {'Content-Type' : 'application/json'})
response.end(JSON.stringify({ message : 'userCreated'}));

로컬 호스트에 데이터를 request하거나 response할때 JSON을 파싱하거나 JSON형태의 문자열로 변경했다.

Node.js로 API를 구축하는데 쓰는 필수 데이터 포맷인 JSON의 개념을 파악해보고자 한다.

JSON이란?

JavaScript Object Notaion(JSON)은 JavaScript 문법으로 구조화된 데이터를 문자 기반으로 표현한 개방형 표준 포맷이다. 구조화된 데이터란 객체 내 프로퍼티처럼 키,밸류로 이루어진 attribute-pairs나 배열 자료형 그리고 모든 시리얼화 가능한 데이터를 의미한다.

JSON특징

  • JavaScript의 문법을 따르지만 언어 독립형 데이터 포맷으로 여러 프로그래밍 언어와 플랫폼에 쓰일 수 있다.

  • 주로 서버와 웹 어플리케이션 간에 데이터를 전송하는데 사용한다.

  • JavaScript의 기본 데이터 타입인 문자열, 숫자, 배열, 불리언, 객체를 포함할 수 있다.

  • JSON을 JavaScript로 파싱하면 객체에서 점/브라켓, 배열에서 인덱스로 프로퍼티에 접근할 수 있다.

JSON vs JavaScript Object

const exampleObject = { name : 'wecode', age : 23 , mbti : 'infp', shoesize: 'us8'}
// output : { name: 'wecode', age: 23, mbti: 'infp', shoesize: 'us8' }

exampleJSON = JSON.stringify(exampleObject) // JSON 문자열로 변환
// output : {"name":"wecode","age":23,"mbti":"infp","shoesize":"us8"}

key/value 형태로 비슷하게 생겼지만 아래와 같은 차이점이 존재한다.

  • JSON은 type이 문자열이고, JavaScript Object의 type은 객체이다.

  • JSON은 모든 프로퍼티를 큰 따옴표로 묶어 사용하지만, JavaScript Object는 따옴표 없이 사용 가능하다.

  • JSON은 문자열과 프로퍼티의 이름 작성시 큰 따옴표만을 사용해야 한다.

  • 순수한 데이터 포맷으로 함수는 담을 수 없다.

profile
https://lying-lettuce-69f.notion.site/KyoungchanCho-Blog-f9f150b9e3be4467a67cf2a21932650d (게시글 자동 비공개 현상으로 일단 노션으로 이동합니다. 소개에서 URL 링크 클릭으로 연결됩니다.)

0개의 댓글