달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'json'에 해당되는 글 2

  1. 2007.03.13 JSON vs. XML
  2. 2007.03.13 JSON (JavaScript Object Notation) 개요
2007. 3. 13. 15:22

JSON vs. XML 그거/Tech2007. 3. 13. 15:22

Ajax를 이용한 웹 애플리케이션이 늘어나면서부터 서버와의 통신에 있어 어떠한 데이터 교환 형식을 이용할지에 대한 관심이 부쩍 늘어난 것 같다. 이러한 관심의 예로 JSON(Javascript Object Notation)을 기존 XML을 대체할 데이터 교환 규약으로 보고 있는 사람들이 많으며 26일 InfoQ에서도 이러한 JSON과 XML에 대한 논쟁?을 기사로 올렸다. XML은 지난 몇년에 걸쳐 업계의 노력으로 이제는 완전히 시장이 포화상태에 있다. 반면 JSON은 그동안 사람들에게 많이는 알려지지 않았지만, 그 고유의 단순함 내지는 경량모델로 최근에 개발자들 사이에서 인기를 얻고있는 데이터 교환이다. 뭐 사실 구글에서 조금만 검색해도 JSON에 대한 이런 이야기는 많이 찾아볼 수 있다. -_-;

JSON은 Head Rush Ajax라는 책에서 처음 접했는데, 처음보는 것이고 또 아직은 XML이 더 눈에 익숙하고 더 연마해야 하는지라 자세히 살펴보지는 않았는데, JSON에 관한 ppt를 보니 사람들이 왜 JSON에 열광하는지 조금 이해가 갔다. 사실 XML은 그 규약 자체도 상당히 엄격한(XML의 well-formedness를 준수하는 데만도 10가지 규칙을 내세운다.)데다 네임스페이스나 그런것도 복잡하고...

아무튼 JSON을 지지하는 측에서 JSON이 데이터 교환에 있어서의 장점은 이렇단다. (대충 직역)
1. 사람과 동시에 기계도 읽을 수 있는 형식이다.
2. 유니코드를 지원하는데, 따라서 거의 모든 인간 언어가 소통 가능하다.
3. 자기문서화적이다(? 원문 - self-documenting). 즉, 특정 값 뿐만 아니라 구조와 필드명까지 서술한다.
4. 엄격한 문법과 필수적인 알고리즘을 허용하는 파싱 요구조건이 단순하며, 효율적이고, 일관성있다.
5. 대부분의 일반 컴퓨터 과학에서 제시하는 자료구조인 레코드, 리스트, 트리를 표현할 수 있는 능력을 지녔다.

반면에 JSON 사용에 대해 반박하는 일반적인 논쟁거리는 다음과 같다.
1. JSON은 네임스페이스를 갖지 않는다. 따라서 모든 객체 자체가 네임스페이스이며 키 집합은 다른 객체에 독립적이며 심지어 배타적으로 중첩된다. 또한 JSON은 애매모호함을 피하기 위해 다른 언어에서 하는 것과 같이 컨텍스트를 이용한다.
2. JSON은 검증기가 없다. 궁극적으로 모든 애플리케이션이 입력에 대한 검증을 책임져야 한다. 이는 위임될 수 없으나 YAML 검증기는 사용할 수 있다.
3. JSON은 확장될 수 없다. 사실 그럴필요가 없다. JSON은 유연하며 어떠한 비순환 데이터 구조를 표현할 수 있다. 새로운 필드가 기존 구조를 폐기시키지 않고도 추가될 수 있다.
4. JSON은 XML이 아니다. Douglas는 JSON이 XML에 비해 훨씬 더 심플하다고 주장한다.

읽고나서 보니 Douglas 이 사람 JSON을 발명한 아키텍트네.. -_-;;
아무튼 JSON이 XML에 비해 데이터 교환에 있어서는 상당히 간단한 것임에는 틀림없고, 어디에 어떻게 사용되는 지는 그 상황이 어떠한 상황이냐에 달린 것 같다.(어중간한 으로 마무리.. -_-v)

그나저나 JSON은 뭐라고 발음한다냐? '제이손'? '제이에스-온'? '제이에스오엔'?, '자바스크립트 오브젝트 노테이션~ 헉헉'?

출처 : decoder.egloos.com

:
Posted by 뽀기
2007. 3. 13. 15:19

JSON (JavaScript Object Notation) 개요 그거/Tech2007. 3. 13. 15:19


JSON
(JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999의 일부에 토대를 두고 있다. JSON은 완벽하게 언어로 부터 독립적이지만 C-family 언어 - C, C++, C#, Java, JavaScript, Perl, Python 그외 다수 - 의 프로그래머들에게 친숙한 관습을 사용하는 텍스트 형식이다. 이러한 속성들이 JSON을 이상적인 DATA-교환 언어로 만들고 있다.

JSON은 두개의 구조를 기본으로 두고 있다:

  • name/value 형태의 쌍으로 collection 타입. 다양한 언어들에서, 이는 object, record, struct(구조체), dictionary, hash table, 키가 있는 list, 또는 연상배열로서 실현 되었다.
  • 값들의 순서화된 리스트. 대부분의 언어들에서, 이는 array, vector, list, 또는 sequence로서 실현 되었다.

이러한 것들은 보편적인 DATA 구조이다. 사실상 모든 현대의 프로그래밍 언어들은 어떠한 형태로든 이것들을 지원한다. 프로그래밍 언어들을 이용하여 호환성 있는 DATA 형식이 이러한 구조들을 근간에 두고 있는 것은 당연하다.

JSON 에서, 이러한 형식들을 가져간다:

object는 name/value 쌍들의 비순서화된 SET이다. object는 { (좌 중괄호)로 시작하고 } (우 중괄호)로 끝내어 표현한다. 각 name 뒤에 : (colon)을 붙이고 , (comma)로 name/value 쌍들 간을 구분한다.

array은 값들의 순서화된 collection 이다. array는 [ (left bracket)로 시작해서 ] (right bracket)로 끝내어 표현한다. , (comma)로 array의 값들을 구분한다.

value는 큰따옴표안에 string, number ,true ,false , null, object ,array이 올수 있다. 이러한 구조들을 포함한다.

string은 큰따옴표안에 둘러 싸인 zero 이상 Unicode 문자들의 조합이며, 쌍다옴표안에 감싸지며,backslash escape가 적용된다. 하나의 문자(character)도 하나의 문자열(character string)로서 표현된다. string은 C 또는 Java 문자열 처럼 매우 많이 비슷하다.

number는 8진수와 16진수 형식을 사용하지 않는것을 제외하면 C와 Java number 처럼 매우 많이 비슷하다.

토근들의 어떤 쌍 사이에 공백을 삽입할수 있다. 드물게 encode된 세부 항목을 제외하면, 이렇게 설명된 JSON의 형식은 완벽하게 그 언어를 설명한다.






Why JSON isn't just for JavaScriptI can't believe it's not XML!The JSON vs XML debate begins in earnestJSON and XMLWhy JSON vs XML is a yawnJSON vs. XML as a data interchange formatExamining JSON

json@JSON.org


출처 : www.json.org
:
Posted by 뽀기