2013-04-29 74 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