...
JSON 이란?
JSON은 JavaScript Object Notation의 약자입니다.
JSON은 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준입니다.
이러한 JSON은 XML의 대안으로서 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 고안되었습니다.
또한, JSON은 텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있습니다.
JSON의 특징
- JSON은 자바스크립트를 확장하여 만들어졌습니다.
- JSON은 자바스크립트 객체 표기법을 따릅니다.
- JSON은 사람과 기계가 모두 읽기 편하도록 고안되었습니다.
- JSON은 프로그래밍 언어와 운영체제에 독립적입니다.
JSON vs XML
XML 문서는 XML DOM(Document Object Model)을 이용하여 해당 문서에 접근합니다. 하지만 JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여줍니다. 따라서 HTML과 자바스크립트가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용되고 있습니다.
xml 과 json 공통점
- 둘 다 데이터를 저장하고 전달하기 위해 고안되었습니다.
- 둘 다 기계뿐만 아니라 사람도 쉽게 읽을 수 있습니다.
- 둘 다 계층적인 데이터 구조를 가집니다.
- 둘 다 다양한 프로그래밍 언어에 의해 파싱될 수 있습니다.
- 둘 다 XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받을 수 있습니다.
xml 과 json 차이점
- JSON은 종료 태그를 사용하지 않습니다.
- JSON의 구문이 XML의 구문보다 더 짧습니다.
- JSON 데이터가 XML 데이터보다 더 빨리 읽고 쓸 수 있습니다.
- XML은 배열을 사용할 수 없지만, JSON은 배열을 사용할 수 있습니다.
- XML은 XML 파서로 파싱되며, JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱됩니다.
JSON 주석 관련
JSON 표준의 창시자인 더글라스 크록포드는 JSON에는 주석이 들어가지 않는 것이 바르다고 규정하고 있습니다.
그것은 서로 다른 시스템 간의 연동과 호환성을 위한 조치였습니다.
반드시 주석을 사용해야 한다면, 주석이 포함된 JSON 데이터를 파싱하기 전에 주석만을 먼저 제거해야 합니다.
하지만 되도록 JSON에는 주석을 사용하지 않는 것이 좋습니다.
*XML은 주석 사용이 가능합니다.
JSON 구조
JSON 객체
JSON 객체는 중괄호({})로 둘러쌓아 표현합니다.
또한, JSON 객체는 쉼표(,)를 사용하여 여러 프로퍼티를 포함할 수 있습니다.
{
"name": "식빵",
"family": "웰시코기",
"age": 1,
"weight": 2.14
}
JSON 배열
JSON 배열은 대괄호([])로 둘러쌓아 표현합니다.
또한, JSON 배열은 쉼표(,)를 사용하여 여러 JSON 데이터를 포함할 수 있습니다.
다음 예제는 배열의 이름이 "dog"이고, 3개의 JSON 객체를 요소로 가지는 JSON 배열의 예제입니다.
"dog": [
{"name": "식빵", "family": "웰시코기", "age": 1, "weight": 2.14},
{"name": "콩콩", "family": "포메라니안", "age": 3, "weight": 2.5},
{"name": "젤리", "family": "푸들", "age": 7, "weight": 3.1}
]
복잡하게 생각할 필요 없습니다.
그냥 자바스크립트 객체라고 치부하고 똑같이 쓰면 됩니다.
JSON 타입
JSON에서 제공하는 기본 타입은 다음과 같습니다.
- 숫자(number)
- 문자열(string)
- 불리언(boolean)
- 객체(object)
- 배열(array)
- null
{
"숫자": 42,
"문자열": "Hello, world!",
"불리언": true,
"객체": {
"이름": "홍길동",
"나이": 25
},
"배열": [1, 2, 3, 4, 5],
"null": null
}
# 참고자료
http://www.tcpschool.com/json/json_basic_structure
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.