[웹 스터디]JSON 통신

박준수·2022년 11월 17일
0

[웹 스터디]

목록 보기
2/19
post-thumbnail

JSON 통신의 필요성

오브젝트가 메모리상에 어떻게 존재하는지는 아키텍처와 언어에 따라 다르다. 또 메모리 상의 오브젝트는 인간이 읽기 힘들다.

EX)
애플리케이션 1과 애플리케이션 2를 인터넷을 통해 데이터를 주고받으려고 해보자. 이 두 애플리케이션은 서로 언어도 다르고 아키텍처도 다르다고 하자. 오브젝트를 전송하려면 둘다 이해할 수 있는 형태로 오브젝트를 변환해야 한다. 이렇게 저장하기 위해 또는 전송하기 위해 메모리상의 오브젝트를 다른 형태로 변환하는 작업직렬화라하며, 그 반대 작업을 역직렬화라고 한다.

그렇다면 어떤 형태로 오브젝트를 직렬화 할 것인가? 바로 JSON이다!!!

JSON이란(자바스크립트 오브젝트 노테이션)

  • 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식
  • 키-값의 형태로 오브젝트를 표현한 문자열이다.
  • JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.

JSON 형식

{
  "firstName": "Park",
  "lastName": "Junsu",
  "email": "junsu1222@naver.com"
}

키 : 인스턴스 변수의 이름("firstName"), 값 : 변수에 들어간 값("Park")

왜 이런 형태의 문자를 다른 이름이 아니라 자바스크립트 오브젝트 노테이션이라고 부를 까? 이 형식이 자바스크립트에서 오브젝트를 생성하는 형식과 같기 때문이다 ㅋㅋ

var object = {
"title": "mytitle"
"done": false
};

JSON 전달 방식

  1. Client가 브라우저에 데이터를 집어 넣는다.
  2. 오브젝트를 JSON 형태의 문자열로 변환한다.
  3. 브라우저상에서 실행될 리액트 애플리케이션은 JSON을 요청 바디에 넣어 보낸다.
  4. 자바 백엔드 애플리케이션은 이 JSON을 바디에서 꺼내 알맞게 변환한다.
  5. 변환과정은 라이브러리와 프레임워크가 대신해주므로 JSON을 이용해 자료를 교환한다는 사실을 알자!

JSON 특징

  • 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다.
  • 자바스크립트 객체 표기법과 아주 유사하다.
  • 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 객체로 변환할 수 있는 이점이 있다.
  • JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어졌다.
  • 자바스크립트의 문법과 굉장히 유사하지만 텍스트 형식일 뿐이다.
  • 다른 프로그래밍 언어를 이용해서도 쉽게 만들 수 있다.
  • 특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 핸들링 할 수 있는 라이브러리를 제공한다.

참고 : JSON

profile
방구석개발자

0개의 댓글