2011-01-30 8 views
1

imdb에서 as3으로 데이터를 가져 오려고합니다. 내가 resultXML을 추적하면 내가 얻을 이제imdb에서 데이터 가져 오기

  var urlLoader:URLLoader = new URLLoader(); 
    urlLoader.addEventListener(Event.COMPLETE, urlCompleteHandler); 
    urlLoader.load(new URLRequest("http://www.imdbapi.com/?t=The+Green+Mile ")); 

    private function urlCompleteHandler(e:Event):void { 

     var resultXML:XML = new XML(e.target.data); 
     trace(resultXML); 
    } 

:

지금
{"Title":"The Green Mile","Year":"1999","Rated":"R","Released":"10 Dec 1999","Genre":"Crime, Drama, Fantasy, Mystery","Director":"Frank Darabont","Writer":"Stephen King, Frank Darabont","Actors":"Tom Hanks, Michael Clarke Duncan, David Morse, Bonnie Hunt","Plot":"The story about the lives of guards on death row leading up to the execution of black man accused of child murder & rape, who has the power of faith healing.","Poster":"http://ia.media-imdb.com/images/M/MV5BMTUxMzQyNjA5MF5BMl5BanBnXkFtZTYwOTU2NTY3._V1._SX320.jpg","Runtime":"3 hrs 9 mins","Rating":"8.4","Votes":"214654","ID":"tt0120689","Response":"True"} 

난이 결과에서 "평가"를 얻으려고하지만 난 어떻게 그것을 얻을하는 아무 생각이 나는 다음 시도 .

시도 : resultXML.Rating하지만 그 결과는 반환되지 않습니다.

누구든지 등급을받을 수있는 방법을 알고 계십니까?

답변

4

응답이 XML이 아니라면 JSON입니다. XML을 원할 경우 쿼리 문자열에 r=xml을 추가하십시오.

package { 

    import flash.display.MovieClip; 
    import flash.net.*; 
    import flash.events.Event; 


    public class IMDB extends MovieClip { 

     var urlLoader:URLLoader; 

     public function IMDB() { 
      // constructor code 

      urlLoader = new URLLoader(); 
      urlLoader.addEventListener(Event.COMPLETE, urlCompleteHandler); 
      urlLoader.load(new URLRequest("http://www.imdbapi.com/?t=The+Green+Mile&r=xml")); 
     } 

    private function urlCompleteHandler(e:Event):void { 
      var resultXML:XML = new XML(e.target.data); 
      trace([email protected]); 
     } 
    } 
} 

JSON을 사용하려면 디코딩 방법이 필요합니다. 나는 as3corelib을 사용하여 JSON 인코더/디코더를 포함하여 유용한 도우미 클래스로 가득 찬 라이브러리를 제안합니다.

당신은 당신이 이미 가지고있는 것과 유사하다

var movieObj:Object = JSON.decode(e.target.data); 
trace(movieObj.Rating); 

을 할 것이라고 사용합니다.