2011-01-30 12 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); 

を行うだろう、ということで使用した場合。

関連する問題