2013-04-29 71 views
0

我正嘗試使用imdb API,在這種情況下:http://imdbapi.org/ 我需要按名稱搜索電影並獲取json,然後使用獲取的海報加載圖像。 我將使用as3-flex生成一個Air包。Imdb api with flash - as3 - flex

我試過這個例子,但似乎無法做到正確。

import flash.net.*; 
var url:String = "http://imdbapi.org/"; 
var request:URLRequest = new URLRequest(url); 
request.method = URLRequestMethod.GET; 

var variables:URLVariables = new URLVariables(); 
variables.name = "Pulp fiction"; 
request.data = variables; 

var loader:URLLoader = new URLLoader(); 
loader.addEventListener(Event.COMPLETE, onComplete); 
loader.dataFormat = URLLoaderDataFormat.TEXT; 
loader.load(request); 

function onComplete (event:Event):void { 
    trace(event.target.data); 
} 

也許你能ENLIGHT我連接到API和檢索該JSON的例子,這樣我可以與海報加載圖像,並生成我氣包。

非常感謝!

+0

請您告訴我們什麼「似乎無法得到正確的手段」。您的代碼是否存在編譯器錯誤?還是運行時錯誤?或者你會得到意想不到的結果嗎? – JeffryHouser 2013-04-29 15:33:03

+0

我創建了一個as3 flex項目,並且我添加了一個類,在這裏我把我粘貼在這裏的代碼粘貼到這裏,當我運行它時,我得到一個白色的窗口。沒有錯誤。 – TheMadCapLaughs27 2013-04-29 15:48:04

+0

如果沒有錯誤,那麼你需要解決什麼問題?您共享的代碼沒有任何代碼顯示,因此預計會出現「白色屏幕」。 – JeffryHouser 2013-04-29 15:49:44

回答

3

的API似乎想在電影中q PARAM所以改變這種

variables.name = "Pulp fiction"; 

到:

variables.q = "Pulp fiction"; 

驗證:http://imdbapi.org/?q=Pulp%20Fiction

從那裏獲取海報URL只是從JSON字符串中讀取正確的屬性。

private function onComplete (event:Event):void { 
    var data:Array = JSON.parse(event.target.data); 
    if(data && data.length) 
    { 
     var movie:Object = data[0]; 
     trace(movie.poster); 
    } 
} 
+0

我編譯時獲取未定義屬性JSON的訪問權限 – TheMadCapLaughs27 2013-04-29 20:25:17

+0

全局JSON對象可用if你的目標是閃光燈11和以上。如果不是,您需要下載具有json解析類的adobe庫。 – 2013-04-29 20:26:20