양쪽 이전 판이전 판다음 판 | 이전 판 |
tech:json [2017/08/23 01:30] – V_L | tech:json [2017/08/23 01:35] (현재) – [단점] V_L |
---|
{{tag>json}} | {{tag>json}} |
====== JSON ====== | ====== JSON ====== |
JSON(제이슨; JavaScript Object Notation)은 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다. 사람도 이해하기 쉽고 기계도 이해하기 쉬우면서 데이터의 용량이 작다. 이런 이유로 최근에는 JSON이 XML을 대체해서 설정의 저장이나 데이터를 전송등에 많이 사용된다 | JSON(제이슨; JavaScript Object Notation)은 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. |
| |
| 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다. 사람도 이해하기 쉽고 기계도 이해하기 쉬우면서 데이터의 용량이 작다. 이런 이유로 최근에는 JSON이 XML을 대체해서 설정의 저장이나 데이터를 전송등에 많이 사용된다 |
| |
본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어나 플랫폼에 독립적이므로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#, [[tech:java|자바]], [[tech:javascript|자바스크립트]], 펄, [[tech:python|파이썬]] 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있다. | 본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어나 플랫폼에 독립적이므로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#, [[tech:java|자바]], [[tech:javascript|자바스크립트]], 펄, [[tech:python|파이썬]] 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있다. |
} | } |
</file> | </file> |
| =====단점===== |
| 유연함이 문제가 될 수 있다. 보내는 자료에 대한 제약이 없기 때문에, AJAX 는 단순히 데이터만이 아니라 javascript 그 자체도 전달할 수 있다. 무슨 말이냐면 json데이터라고 해서 받았는데 그게 단순 데이터가 아니라 자바스크립트가 될 수도 있고, 그게 실행 될 수 있다는 것이다. |
| |
| >데이터인 줄 알고 받았는데 악성 스크립트!! |
| |
| JSON 관련 라이브러리를 따로 사용하는 이유가 이것이다. 받은 내용에서 순수하게 데이터만 추출하기 위한 라이브러리이다. |
| |
| 또 다른 JSON의 한계는 JSON으로 가져올 수 있는 데이터는 해당 자바스크립트가 로드된 서버의 것에 한정된다는 것이다. |
| |
=====참조===== | =====참조===== |
| |
* http://json.org/json-ko.html | * http://json.org/json-ko.html |
* [[json php]]참조 | * [[json php]]참조 |