JSON: 두 판 사이의 차이

내위키
(새 문서: JSON (JavaScript Object Notation). '제이슨'이라고 읽는다. <del>Javascript의 아들</del> 데이터 교환을 위한 표준 형식으로, XML의 경량화된 버전...)
 
편집 요약 없음
25번째 줄: 25번째 줄:


자잘한 데이터를 좀 더 가볍고 빠르게 교환하면서도 사람도 기계도 쉽게 읽고 쓸 수 있는 형식으로 나온 게 JSON이다. 원래는 [[자바스크립트]]에서 객체를 표현하는 방법으로 사용되던 것이라 JSON의 J는 Javascript를 뜻한다. [[자바스크립트]]에서 [[Ajax]] 개념이 발달하면서 백그라운드에서 계속해서 데이터가 왔다갔다해야 하는데, 이러한 데이터가 가볍고 작아야 그만큼 웹페이지의 반응 속도가 빠를 것이다. 그 결과 JSON의 인기가 치솟으면서 이제는 [[자바스크립트]]를 넘어서 데이터 교환에서 XML보다도 오히려 더 널리 쓰이는 형식이 되었다.  과거에는 한 번에 많은 데이터를 받아오는 것이 보통이라, [[XML]]이 가지고 있는 무거움은 전체 데이터 양에 비해서는 큰 문제가 안 되었다. 오히려 DTD를 사용해서 [[XML]] 자체에서 데이터의 무결성을 어느 정도 검증해 주기도 하고, XSLT를 통해서 XML 형식을 변환할 수도 있는 유연성이 더 도움이 되었다. 하지만 [[Ajax]]가 인기를 끌면서 백그라운드에서 자잘한 데이터가 자주 왔다갔다하는 비중이 높아지다 보니, [[XML]]의 무거움이 더더욱 문제점으로 부각되고, 그 대안으로 JSON이 널리 퍼진 것.
자잘한 데이터를 좀 더 가볍고 빠르게 교환하면서도 사람도 기계도 쉽게 읽고 쓸 수 있는 형식으로 나온 게 JSON이다. 원래는 [[자바스크립트]]에서 객체를 표현하는 방법으로 사용되던 것이라 JSON의 J는 Javascript를 뜻한다. [[자바스크립트]]에서 [[Ajax]] 개념이 발달하면서 백그라운드에서 계속해서 데이터가 왔다갔다해야 하는데, 이러한 데이터가 가볍고 작아야 그만큼 웹페이지의 반응 속도가 빠를 것이다. 그 결과 JSON의 인기가 치솟으면서 이제는 [[자바스크립트]]를 넘어서 데이터 교환에서 XML보다도 오히려 더 널리 쓰이는 형식이 되었다.  과거에는 한 번에 많은 데이터를 받아오는 것이 보통이라, [[XML]]이 가지고 있는 무거움은 전체 데이터 양에 비해서는 큰 문제가 안 되었다. 오히려 DTD를 사용해서 [[XML]] 자체에서 데이터의 무결성을 어느 정도 검증해 주기도 하고, XSLT를 통해서 XML 형식을 변환할 수도 있는 유연성이 더 도움이 되었다. 하지만 [[Ajax]]가 인기를 끌면서 백그라운드에서 자잘한 데이터가 자주 왔다갔다하는 비중이 높아지다 보니, [[XML]]의 무거움이 더더욱 문제점으로 부각되고, 그 대안으로 JSON이 널리 퍼진 것.
JSON을 XML을  경량화한 것으로 여기는 시각이 많지만, 그렇다고 XML로 표현할 수 있는 것을 모두 JSON으로 표현할 수 있는 것은 아니다. 예를 들어, JSON에는 '속성'의 개념이 없다. 즉, XML로는 <code><area width="100" height="100">우리집</area></code> 이렇게 표현할 수 있지만 JSON으로는 똑같이는 못 한다. 이러한 데이터를 표현하려면,
<syntaxhighlight lang="javascript">
{
"area": {
"width": 100,
"height": 100,
"name": "우리집"
}
}
</syntaxhighlight>
아니면
<syntaxhighlight lang="javascript">
{
"area": {
"properties": {
"width": 100,
"height": 100,
},
"name": "우리집"
}
}
</syntaxhighlight>
이런 식으로 표현할 수밖에 없다.

2016년 1월 21일 (목) 07:11 판

JSON (JavaScript Object Notation). '제이슨'이라고 읽는다. Javascript의 아들

데이터 교환을 위한 표준 형식으로, XML의 경량화된 버전으로 여기는 사람들이 많다. 데이터 교환을 위한 표준 형식으로 XML이 열심히 푸시되었지만 너무 크고 아름답다는 게 늘 문제였다. 아무리 작은 양의 데이터를 담고 있다고 해도 XML이라는 형식을 갖추려면 기본적으로 들어가는 요소의 크기가 배보다 배꼽이 큰 경우가 비일비재하다.

<?xml version='1.0' encoding='utf-8' ?>
<website>
	<name>내위키</name>
	<url>http://newiki.net</url>
</website>

이건 XML 형식이고,

{
	"person": {
		"name": "내위키",
		"url": "http://newiki.net"
	}
}

이건 데이터를 JSON 형식으로 표현한 것이다. 딱 봐도 JSON이 훨씬 전체 데이터 양이 적다.

자잘한 데이터를 좀 더 가볍고 빠르게 교환하면서도 사람도 기계도 쉽게 읽고 쓸 수 있는 형식으로 나온 게 JSON이다. 원래는 자바스크립트에서 객체를 표현하는 방법으로 사용되던 것이라 JSON의 J는 Javascript를 뜻한다. 자바스크립트에서 Ajax 개념이 발달하면서 백그라운드에서 계속해서 데이터가 왔다갔다해야 하는데, 이러한 데이터가 가볍고 작아야 그만큼 웹페이지의 반응 속도가 빠를 것이다. 그 결과 JSON의 인기가 치솟으면서 이제는 자바스크립트를 넘어서 데이터 교환에서 XML보다도 오히려 더 널리 쓰이는 형식이 되었다. 과거에는 한 번에 많은 데이터를 받아오는 것이 보통이라, XML이 가지고 있는 무거움은 전체 데이터 양에 비해서는 큰 문제가 안 되었다. 오히려 DTD를 사용해서 XML 자체에서 데이터의 무결성을 어느 정도 검증해 주기도 하고, XSLT를 통해서 XML 형식을 변환할 수도 있는 유연성이 더 도움이 되었다. 하지만 Ajax가 인기를 끌면서 백그라운드에서 자잘한 데이터가 자주 왔다갔다하는 비중이 높아지다 보니, XML의 무거움이 더더욱 문제점으로 부각되고, 그 대안으로 JSON이 널리 퍼진 것.

JSON을 XML을 경량화한 것으로 여기는 시각이 많지만, 그렇다고 XML로 표현할 수 있는 것을 모두 JSON으로 표현할 수 있는 것은 아니다. 예를 들어, JSON에는 '속성'의 개념이 없다. 즉, XML로는 <area width="100" height="100">우리집</area> 이렇게 표현할 수 있지만 JSON으로는 똑같이는 못 한다. 이러한 데이터를 표현하려면,

{
	"area": {
		"width": 100,
		"height": 100,
		"name": "우리집"
	}
}

아니면

{
	"area": {
		"properties": {
			"width": 100,
			"height": 100,
		},
		"name": "우리집"
	}
}

이런 식으로 표현할 수밖에 없다.