본문 바로가기

IT 프로그래밍/소스모음

json 요약

JSON을 추가하면, JavaScript에서 보다 복잡한 데이터 구조도 능숙히 다룰 준비가 된다.

json은 네이티브 자바스크립트 포맷이고 특별한 api나 설치 없이 바로 아래와 같이 사용가능하다.

그룹핑 시킨 값에 name/value값을 표시 해 준다.

<script type="text/javascript" language="javascript">
 //JSON은 Ajax 애플리케이션을 위한 유용한 포맷으로서 JavaScript 객체와 스트링 값 사이를 빠르게 변환할 수 있게 해준다
 //JSON의 가장 큰 가치는 JavaScript가 데이터-포맷 언어로서가 아닌 JavaScript로서 역할을 할 수 있다는 점이다.

 var people =
   { "programmers": [
     { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
     { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
     { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
    ],
   "authors": [
     { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
     { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
     { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
    ],
   "musicians": [
     { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
     { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
    ]
   }

 alert(people.programmers[0].lastName);     //호출
 alert(people.programmers[2].firstName);
 alert(people.authors[1].genre);
 alert(people.musicians[1].lastName = "michal");        //수정

 

 //물론, 모든 데이터 수정은 텍스트 포맷으로 쉽게 변환할 수 없다면 가치가 없다. 이것 역시 JavaScript에서는 간단하다.
 //String newJSONtext = people.toJSONString();
 //이것이 다이다. 원하는 곳 어디에서나 사용할 수 있는 텍스트 문자열이 생겼으니, 이것을 Ajax 애플리케이션에서 요청 스트링으로 사용할 수 있다.

 

 //get으로 전송 하는 방법.
 //문자들이 서버에서(또는 데이터를 서버로 전송할 때) 혼란을 일으키지 못하게 하려면, JavaScript escape() 함수를 추가한다.이 함수는 공백, 사선(slash) 등을 처리하고, 이것들을 안전한 문자로 변환한다
 //(예를 들면, 공백은 %20으로 변환되어, 브라우저는 이것을 공백으로 취급하지 않고, 변경되지 않은 채로 서버로 전달한다. 그리고 나면, 서버는 (일반적으로 자동으로) 이것을 전송 후에 다시 변환한다.


 var url = "test.php?people=" + escape(people.toJSONString());
 request.open("GET", url, true);
 request.onreadystatechange = updatePage;
 request.send(null);

 //GET 요청을 사용하여 많은 데이터 청크를 보내는데, 이는 URL 스트링에 길이 제한을 갖고 있다.


 //post 전송 하는 방법.
 var url = "test.php?timeStamp=" + new Date().getTime();
 request.open("POST", url, true);
 request.onreadystatechange = updatePage;
 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 request.send(people.toJSONString());
 //한 가지 주지할 점은 URL에 현재 시간을 붙였다는 점이다. 이로써 요청이 처음 보내진 후에 캐싱되지 않고, 메소드가 호출될 때마다 재생성 및 재전송 된다는 것이 확실해 진다


 //GET 또는 POST를 사용하든지 간에, 중요한 것은 JSON은 단순한 텍스트 데이터일 뿐이라는 점이다
 //GET 또는 POST를 사용하든지 간에, 중요한 것은 JSON은 단순한 텍스트 데이터일 뿐이라는 점이다
 //GET 또는 POST를 사용하든지 간에, 중요한 것은 JSON은 단순한 텍스트 데이터일 뿐이라는 점이다
 //특별한 인코딩을 필요로 하지 않으므로 쉽게 조작할 수 있고 서버로 보낼 수 있고, 모든 서버 측 스크립트는 텍스트 데이터를 처리할 수 있다
</script>



http://json.org/ 언어별 파서 및 api제공 사이트 가보삼


 

 


 


 

'IT 프로그래밍 > 소스모음' 카테고리의 다른 글

prototype  (0) 2011.03.24
eval함수 사용  (0) 2010.09.16
event.keyCode  (0) 2009.08.20