JSON (Javascript Object Notation)

2013. 8. 4. 15:33하루에하나씩/트렌드, 기초 IT 정보

JSON (Javascript Object Notation) : http://ko.wikipedia.org/wiki/JSON

1.     정의
- Json
은 이종 시스템간 데이터 교환시에 사용할 수 있는 이상적인 방법
 (
그 형식은 자바스크립트의 구문 형식을 따르지만, 프로그래밍 언어나 플랫폼에 독립적이므로 C, C++, C#, 자바, 자바스크립트, , 파이썬 등 많은 언어에서 이용할 수 있다.)
- JSON(
제이슨, JavaScript Object Notation), 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법이다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다
.

2.     .JSON 의 문법 및 데이터 구조
JSON 문법은 자바스크립트 표준인 ECMA-262 3판의 객체 문법에 바탕을 두며, 인코딩은 유니코드로 한다. 표현할 수 있는 기본 자료형으로는 수, 문자열, /거짓, null이 있고, 집합 자료형으로는 배열과 객체가 있다

1) object : key/value
값으로 이루어진 데이터 쌍들의 집합.
   -
이 객체는 { 로 시작하고 } 로 끝난다
.
   - 
/값의 데이터 쌍 사이에는 콜론(:) 으로 구분한다
.

2) array :
순서가 있는 값들의 목록, 일반적으로 배열로 구성되어 있다
.
  - json
배열은 [ ] 로 구성되어 있으며, 콤마(,)로 구분한다
.
  -
값은 문자열이나 숫자, true 혹은 false , 객체, 배열 등이 될수 있다
.

3.     JSON 예제
1. Json
을 이용하여 Employee 객체의 인스턴스를 표현한 예제
 var employee = {
  “firstName” : “John”,
  “lastName” : “Doe”,
  “emplyeeNumber” : 123,
  “title” , “Accountant”
 };
var employees = {"emplist" :  [
        {"firstName" : "John", "lastName" : "Doe"},
        {"firstName" : "scott", "lastName" : "tiger"},
        {"firstName" : "system", "lastName" : "manager"}
    ]
};
2.
접근방법
 var lastName = employee.lastName;
 var firstName = employees.emplist[0].firstName;

자바스크립트의 문법을 채용했기 때문에, 자바스크립트에서 eval 명령으로 곧바로 사용할 수 있다.

이런 특성은 자바스크립트를 자주 사용하는 웹 환경에서 유리하다.

그러나 실질적으로 eval 명령을 사용하면 외부에서 악성 코드가 유입될 수 있다.

대부분의 최신 웹 브라우저는 JSON 전용 파서 기능을 내장하고 있으므로 이런 기능을 사용하는 것이 더 안전할 뿐만 아니라 빠른 방법이다.

 

 

http://www.pickywebdesign.com/json-vs-xml-what-should-you-use

 


XML의 깔끔함으로, 대외적인 프로젝트를 할때는 XML을 주로 이용하나, 내부 프로젝트나 개인적으로는 JSON을 선호한다.

 

 

1.     XML의 장점
작성하기가 간편하다(tag구조)
XML
사람이 읽기가 쉽다. (즉 각 장보들이 의미하는 바를 한눈에 보기가 좋다. DTD XML자체의 기능을 확장할 여지가 많이 있다
.

2.     XML의 단점
문서의 양이 필요이상으로 많다.(실 데이터가 아닌 tag글자)
배열형식이나 반복구조의 경우 불필요한 데이터가 계속 해서 나타난다
.
결국 이로인해 파싱이 힘들어지고 속도는 느려진다
.

3.     JSON의 장점
내용이 함축적으로 최소한의 정보만을 가지고있다.
그렇기때문에 XML대비 용량이 획기적으로 줄어들고 속도는 그만큼 빨라지게된다
.
객체구조와 {} 배열구조의 [] 적절한 만남으로 아주 효율적인 데이터 구성이 가능하다
.
파싱이 매우 간편하고, 때로는 일반적인 변수처럼 사용도 가능하다
.
, 사용하기 쉽다
.

4.     JSON의 단점

내용이 함축적이다 보니 내용의 의미파악은 힘들수 있다.
아무래도 적은규격의 데이터 전송에 적합한 방식이기떄문에 XML보다는 빠르지만

대용량급의 데이터 송수신엔 부적합 모습도 있다.

 

'하루에하나씩 > 트렌드, 기초 IT 정보' 카테고리의 다른 글

L4/L7 Switch & OSI Layer  (0) 2015.10.22
rpm (Redhat Package Manager)  (0) 2015.10.22
What Is A Mash Up?  (0) 2013.11.20
IMEI ( International Mobile Equipment Identity)  (0) 2013.07.24
GIS, POI , WGS84  (1) 2013.07.24
Big Endian  (0) 2013.07.24
SSID 가 뭐죠?  (2) 2013.07.24
Batch Processing 이 뭐죠  (0) 2013.07.24
MAC Address 가 뭐죠?  (1) 2013.07.24
M2M 이란 (Machine to Machine, 사물통신)  (1) 2013.07.20