1. JSON(JavaScript Object Notation)
- 경량(Lightweight)의 data 교환 형식임
- 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이함
2. JSON의 구조
- 이름/값의 쌍으로 된 묶음으로 object, record, struct, dictionary, hash table, keyed list,
associative array로 실현됨
- 정렬된 값들의 리스트로 대부분의 언어에서 array, vector, list, sequence로 실현됨
3. JSON의 형식
4. JSON의 이점
- JSON 객체에는 자료형이 부여되므로 별도의 타입 시스템을 만들 필요가 없음
- 데이타를 파싱할 필요가 없음. name/value의 간단한 구조의 형태로 표현된 데이타를 responseText로 받아 별도의 파서없이 사용하면 됨
- JSON은 매우 유연하기도 하며 데이타들의 이름을 교체해서 사용할 수도 있음
- 텍스트 형태이기 때문에 매우 빨리 처리함
- <script> 태그의 src attribute에 서버의 url을 명시하기만 하면 어떤 서버에서도 데이타를 가져올 수 있음
* JSON (JavaScript Object Notation)
- 데이터를 저장하고 표현할 목적으로 사용되는 것
- 언어가 달라도 모두 사용 가능
- XML은 정보를 저장하기 위한 불필요 공간이 필요한데 반해서 JSON은 최소한의 정보를 저장한다.
= <name> 황의진 </name>
<name> 황의진
= "name" : "황의진"
키 값
- 배열로 사용가능하고, 객체로도 사용가능하다.
- ECMAScript 262의 문법을 따른다.
- JavaScript 에서 사용할때에는 eval() 함수를 가지고 객체로 만들어서 사용.
eval(" ' "+responseText|" ' ")
- JSON 문법 (단순 객체로 저장할 때)
{ 키 : 값, 키 : 값 }
┌JSON객체 ↓
var a = eval( );
└ a.키
var info = eval(" ' {name:황,addr:오류} ' ");
info.name info.addr
황 오류
* JSON 배열
[ ] - 값의 배열
{ 키: [값, ... ], ... };
var info = eval(" ' {name:[황의진, 천재] , addr:오류동} ' ");
info.name[0]
황의진
info.name[1]
천재
[ ] - JSON Object의 배열
[{키, 값}, {키, 값} ...];
var info = eval (" ' [ {name:황,addr:오류}, {name:임, addr:안양}] ' ")
info[0].name // 황
info[1].name // 임
JSON - 간단한 예제 (HTML with JavaScript)
books의 정보는 title, author, isbn으로 되어 있습니다.
JSON으로 해당정보를 얻으려면 아래와 같이 사용하면 됩니다.
<html>
<head>
<title>JSON Test</title>
<script type="text/javascript" language="JavaScript">
function jsonTest()
{
var jsonData = {"books": [
{"title":"Hyperion", "author":"Dan Simmons", "isbn":"0553283685"},
{"title":"The Stars My Destination", "author":"Alfred Bester", "isbn":"0679767800"},
{"title":"Black House", "author": ["Stephen King", "Peter Straub"], "isbn":"0345441036"},
{"title":"The Golden Compass", "author":"Philip Pullman", "isbn":"0679879242"},
]};
alert(jsonData.books[1].author); // Alfred Bester
alert(jsonData.books[3].isbn); // 0679879242
alert(jsonData.books[2].isbn); // 0345441036
alert(jsonData.books[0].author); // Dan Simmons
alert(jsonData.books[2].title); // Black House
alert(jsonData.books[2].author[1]); // Peter Straub
}
</script>
</head>
<body>
<input type="button" value="Test" name="Test" onClick="jsonTest();" />
</body>
</html>
[출처] http://vincentkng.blog.me/10091969528
[출처] [JSON] JSON (JavaScript Object Notation)|작성자 주한길
'JSON(JS Object Notation)' 카테고리의 다른 글
[JSON] JSONArray 를 Servlet에서 받는 방법 (한글깨짐 문제 해결방법) (0) | 2015.07.17 |
---|---|
[JSON] JSON 문자열을 객체로 전환 (0) | 2015.07.17 |
[JSON] JSON JSP 와 Ajax 예제 (영문) (0) | 2015.07.17 |