1.JQUERY JSON 파싱

 

<< JSON >>

   


 

 

조금이나마 보기 편하게 처리 했습니다...ㅎ0ㅎ

 

<< 응답 결과 처리 >>

 



 

38라인 : json 포맷으로 응답받기 위해 dataType 을 json로 지정해서 요청

 

42라인 : 응답결과가 정상적으로 왔을 경우 호출되는 함수

 

44라인 : 각각의 친구 인적사항을 가지고 있는 'UnoFriendList'의 배열값을 가져옴

 

나머진 소스코드의 주석 내용을 보시면 되겠네요^^

 

<< 응답 결과 >>


 



(주의)

38라인에서 응답 포맷을 json으로 지정하지 않는다면 텍스트(문자열) 형태로

 

결과값이 넘어옵니다.

 

그러면 response_json  함수의 인자인 json 이 문자열 이므로

 

객체타입으로 변경해주어야 파싱이 가능하겠죠??

 

두가지 방법이 있습니다.

 

1. JQUERY 의 함수 사용

 

var obj = $.parseJSON(json);

 

2. 자바스크립트 함수 사용

 

var obj = eval("(" + json + ")");

 

둘중 아무거나 사용하셔도 객체타입으로 변경되어 파싱 하실수 있습니다.^^




2.JQUERY XML 파싱


어떤 요청에 대한 응답 결과의 포맷을 XML 아니면 JSON 형태로 많이 받는거 같습니다..!!

 

저는 응답결과를 브라우저로 확인할때는 XML 을 사용하고, 실제 처리는 JSON 포맷으로 받아서 처리하고 합니다..ㅎㅎ

그래서인지 JQUERY XML 파싱은 어떻게 하더라??~~하고 기억이 가물가물..!!^^

 

아래 간단한 예제를 작성해 보았습니다.

(예제의 응답 결과는 '친구 3명의 인적사항' 입니다.ㅋㅋㅋ)

 

<< XML 응답 결과 >>





 

Friend 노드가 3개 있으며

각 노드안에 

  • name(이름)
  • phone(폰)
  • address(주소)
  • birth(생일)
  • family(가족)
  • date(등록일)

있습니다.

 

이중에서 family 의 이름을 가르키는

family_name_1, family_name_2.... 를 제외하고는 노드명이 고정 입니다.

(가족수가 많으면 family_name_3...4..5 늘어나겠죠..^^)

 


 

38라인 : xml 포맷으로 응답받기 위해 dataType 을 xml 로 지정해서 요청

47라인 : 응답결과가 정상적으로 왔을 경우 호출되는 함수

49라인 : 각각의 친구 인적사항을 감싸고 있는 'Friend' 노드를 찾는다.(여기선 3개 나옴)

57라인 : Friend 노드의 수(3개) 만큼 each 함수로 루프를 돈다.

60~73라인 : 각각의 항목을 찾아 그 값을 구한다.( $(this).find("찾을 값").text() )

69라인 : 가족의 이름을 포함하는 'family'를 찾은후 그 자식 노드를 구한다(children 사용)

             자식노드의 수만큼 루프를 돌아 각각의 이름을 구한다.

 

Jquery 의 find 와 each , text 함수만 알아도 xml 파싱이 술술 되네요^^

 

위의 예제에는 없지만

<Friend group="highschool">

과 같은 형식이 있다면 루프문 안에서

$(this).attr(group); 를 사용하여 'highschool' 값을 구하실 수 있습니다.!!

 

<< 결과값 보기 >>

 


  





 

 

 


'jQuery' 카테고리의 다른 글

jQuery 간단하게 사전처럼 찾아쓰기 (findfun 님블로그 정리)  (0) 2014.08.06
SelectBox 제어  (0) 2014.02.26
e.preventDefault()  (0) 2014.02.26
.attr() .prop() 왜 나누어졌는가  (0) 2014.02.04
제이쿼리 셀렉터 요약  (0) 2014.02.04

+ Recent posts