개발하는지호 2023. 11. 27. 17:04

JSON 이란 무엇인가?

 

데이터 포맷은 서버 간 통신에 사용되는 일련의 형식화된 규칙을 따라 생성된 데이터 구조이다.

 

1-1 XML(eXtenxible Markup Language)

전통적으로 HTML 처럼 마크업 형태로 작성되는 XML 확장자가 사용된다.

 

*Markup Language 이란 양식이 있는 문서의 한 종류이며, 그 양식을 태그 등으로 구분하여 문서 정보를 정확하게 전달하기 위한 목적으로 만들어진 언어이다.

 

데이터를 보관하기 위한 포맷만이 아닌, 프로그램 동작에 필요한 설정 정보를 저장하는 형태로도 사용된다.

 

 

그 와중에 집고 넘어가기!

HTML과 XML 차이점

둘 다 마크업 언어지만 사용 사례가 다르다.

HTML : 주로 어플리케이션의 UI를 개발하는 데 사용된다. 웹 사이트 또는 애플리케이션에서 볼 수 있는 텍스트, 이미지, 버트, 확인란 미 드롭다운 상자를 렌더링한다.

 

XML: 주 목적은 데이터 교환 미 전송이다. 기계와 사람이 모두 읽을 수 있는 형식으로 데이터를 인코딩한다.

 

즉, XML은 데이터가 무엇인지 설명하는 반면 HTML은 데이터를 최종 사용자에게 표시하는 방법이다.

 

 

아무튼,

 

서버로부터 XML 형태의 데이터 포맷을 통해 데이터를 응답받을 경우 특정 데이터를 사용하기 위해서는 아래와 같은 별도의 변환 처리 로직이 필요하다.

 

XML 형태의 문자열 데이터 -> XML DOM 객체의 형태로 파싱(Parsing) -> 원하는 값 추출

*이는 직렬화이며, 다시 서버로 데이터를 보낼때는 역직렬화를 사용한다.

 

이상적으로는 서로 다른 언어로 작성된 프로그램들 사이에서 데이터를 원활하게 교환하기 위해서는 서버로부터 전달받은 데이터의 포맷이 프로그램에서 즉각적으로 사용할 수 있는 형태에 가까울수록 좋다. 그래서 이를 해결하고자 나온 데이터 포맷이 있다.

 

1-2 JSON(JavaScript Object Notation)

 

더글라스 클락포트는 서버를 개발하는 과정에서 XML 형식에 불편함을 느꼈고, <>와 같은 마크업 형태의 작성 포맷 대신, 현재 자신이 개발 중인 서버의 언어로 채택하여 사용 중인 javascript언어와 유사한 형태의 포맷인 JSON을 고안함

 

JSON은 javascript 객체(object) 형태의 포맷으로 작성된 형태로 아래와 같은 형식으로 구성된다.

 

 

이렇듯, 키-값 쌍의 형식을 가지고 있다.

 

이후

JSON은 다른 언어 간 통신에서도 범용적으로 사용되는 데이터 포맷이 되었다.

 

*JSON은 주석(Comment) 작성 시 에러가 발생하여 작성할 수 없는 단점이 있으며, 그 외에 들여쓰기 방식으로 작성하는 데이터 포맷도 존재한다.