안녕하세요. 이번 포스팅은 JSON이 무엇인지를 다뤄보도록 하겠습니다.
JSON 이란 무엇인가?
JSON은 JavaScript Object Notation의 약자로,
데이터를 쉽게 교환하고, 저장하기 위해 만들어진 데이터 교환 표준입니다.
이름에서도 알 수 있겠지만, JSON은 자바 스크립트 기반 표준입니다.
XML 의 대안으로서 등장한 JSON은 사람이 읽을 수 있는 텍스트를 기반으로 한 데이터 교환 표준이라는 점에서
XML과 차이를 둡니다.
JSON은 텍스트 기반이기 때문에, 어떤 프로그래밍 언어에서도 JSON 데이터를 사용 가능합니다.
JSON은 2009년 더글라스 크로크포드(Douglas Crockford)가 규정하였으며,
현재 JSON 은 RFC 7159와 ECMA-404 에 의해 규정되어 있습니다.
JSON 특징
- 자바스크립트를 확장하여 제작.
- 자바스크립트 객체 표기법을 따름.
- 프로그래밍 언어와 운영체제에 독립적. (텍스트 기반이기 때문에)
- 사람과 기계가 모두 읽을 수 있도록 고안됨.
- 일반적으로 서버와 클라이언트 간 교류에서 사용됨.
JSON VS XML
JSON 에 대해 소개를 하자면, XML 에 대해 말을 하지 않을 수가 없는데,
이는 공통점이 분명하기 때문입니다.
JSON과 XML 의 공통점과 차이점을 열거하기 전,
XML 의 개념이 분명하지 않으신 분들을 위해 간략하게 설명하자면
XML은 EXtensible Markup Language의 약어로,
이름에서 눈치를 채신 분들도 계실 것 같지만, HTML과 비슷한 문자기반 마크업 언어입니다.
HTML과의 차이점이라면, 데이터를 그저 보여주는 것에서 그치는 HTML과는 달리
데이터를 저장하고 전달하는 목적으로 만들어져있습니다.
XML에서도 태그의 개념이 사용되는데, HTML 태그와는 달리 사용자가 정의하여 사용할 수 있습니다.
JSON과 XML의 공통점 | JSON과 XML의 차이점 |
데이터를 저장하고 전달하기 위해 고안됨 | JSON의 구문이 XML 구문보다 짧음. |
기계 뿐만아니라 사람도 읽기 쉬움. | JSON 데이터가 XML 데이터보다 더 빨리 읽고 쓸 수 있음. |
계층적인 데이터 구조 | JSON은 배열 사용가능.(XML은 불가능) |
다양한 프로그래밍 언어에 의해 파싱됨. | XML은 XML 파서로 인해 파싱되지만, JSON은 자바 스크립트 표준 함수인 eval() 함수로 파싱됨. |
XMLHttpRequest 객체를 이용하여 서버로부터 데이터 전송 받을 수 있음. | JSOn은 종료 태그 사용 안함. |
XML 예제
<sister>
<name>철보빡</name>
<weight>999</weight>
<age>3</age>
</sister>
JSON 예제
{
"name": "철보빡",
"weight": 999,
"age": 3
}
JSON 의 사용 범위
XML 문서는 XML DOM(Document Object Model)을 이용해 문서에 접근합니다.
JSON은 문자열을 전송 받고 해당 문자열을 바로 파싱하기 때문에, XML보다 더 빨리 처리할 수 있습니다.
이러한 이유 때문에 빠른 응답이 필요한 웹 환경에서 사용됩니다.
그렇지만, JSON은 전송 받은 데이터의 무결성을 사용자가 직접 검증해야 해서
데이터의 검증이 필요한 경우 XML 이 사용됩니다.
'Archive > Develop' 카테고리의 다른 글
[ Python ] 파이썬 순차 탐색 문제 코드 | 순차 탐색 알고리즘 | 파이썬 알고리즘 (0) | 2021.01.07 |
---|---|
포스팅 할 주제들 (0) | 2021.01.03 |
[ JavaScript ] 구름 IDE 사용법 | 구름 IDE 기초 사용 (0) | 2021.01.03 |
[ JavaScript ] CRUD란? | CRUD 정의ㅣ 개발 기초 (0) | 2021.01.01 |
[ Python ] 백준 2960번 에라토스테네스의 체 풀이 (0) | 2020.12.31 |