JSON 알아보기

jwww·2023년 2월 11일

통신

목록 보기
2/5

JSON에 대해 알아보기 전에

브라우저에서 동작하는 웹사이트나 웹어플리케이션 같은 클라이언트들이 어떻게 서버와 통신할 수 있는지 정의하는 것이 HTTP이다.

HTTP (Hypertext Transfer Protocol) 란?
텍스트 기반의 통신 규약으로 인터넷이서 데이터를 주고 받을 수 있는 프로토콜.

  • 프로토콜: 데이터 교환 방식을 정의하는 규칙 체계.
  • 하이퍼텍스트: 하이퍼 링크, 문서나 이미지 파일 등의 리소스들을 통틀어 의미한다.

이 HTTP를 이용해서 서버에서 데이터를 받아올 수 있는 방법으로 AJAX가 있다.

AJAX (Asynchronous JavaScript and XML) 란?
웹페이지에서 비동기적으로 데이터를 요청하고 응답을 받기 위해서 사용되는 기술들의 조합.


JSON이란

서버와 클라이언트 간에 복잡한 데이터를 주고 받을 때 데이터베이스의 내용을 특정한 포맷(형식)으로 담아 데이터를 전송한다.
이렇게 데이터를 담는 여러가지 포맷 중 하나가 JSON이며, 이외에는 XML, CSV 등이 있다.

XML은 HTML과 같은 마크업 언어 중 하나로 태그들을 이용해서 데이터를 나타낸다. HTML처럼 데이터를 보여주는 목적이 아닌 데이터를 저장하고 전달할 목적으로 만들어졌으며 HTML 태그처럼 태그가 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

JSON은 JavaScript Object Notation 자바스크립트 객체 문법을 따른는 문자 기반의 데이터 포맷이다.

위에서 나온 AJAX는 이름만 보면 XML 파일만을 주고 받을 수 있을 것 같지만 실제로는 대부분 JSON 형태를 주로 사용한다.

JSON의 특징

  • 데이터를 주고 받을 때 사용할 수 있는 가장 간단한 파일 포맷
  • 텍스트를 기반으로 하여 가볍고 읽기 편하다.
  • key와 value로 구성되어 있다.
  • 프로그래밍언어나 플랫폼에 상관없이 사용할 수 있다.

JSON과 XML의 공통점

  • 데이터를 저장하고 전달하기 위해 만들어졌다.
  • 기계뿐만 아니라 사람도 쉽게 읽을 수 있다.
  • 계층적인 데이터 구조를 가진다.
  • 다양한 프로그래밍 언어에 의해 파싱될 수 있다.
  • XHR(XMLHttpRequest) 객체를 이용하여 서버부터 데이터를 전송받을 수 있다.

JSON과 XML의 차이점

  • JSON은 종료 태그를 사용하지 않는다.
  • JSON의 데이터가 XML 데이터보다 처리 속도가 빠르다.
  • JSON은 배열을 사용할 수 있지만 XML은 배열을 사용할 수 없다.
  • JSON은 자바스크립트 표준함수인 eval() 함수로 파싱되며 XML은 XML파서로 파싱된다.

JSON 예시

{
	"name": "루키",
    "age": 19,
    "height": 180
}

XML 예시

<character>
	<name>루키</name>
    <age>19</age>
	<height>180<height>
</character>
profile
퍼블리셔 공부 블로그 입니다

0개의 댓글