我構建了一個類來解析JSON數據,將它存儲在一個數組中,現在我想返回該數據以便它可以存儲在我的根AS文件中的數組中。我最終試圖將返回的數組傳遞給另一個類。我的階級是這樣的:actionscript 3:返回類中的數組
package com.src
{
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.*;
import com.src.serialization.json.JSON;
public class DataGrab extends Sprite
{
public var jsonData:Object;
public function DataGrab()
{
}
public function init(resource:String):void
{
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(resource);
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(request);
}
private function onComplete(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
jsonData = JSON.decode(loader.data);
}
public function getResults():Array
{
var people = jsonData.people;
var names:Array = people.name;
var payload = new Array();
var counter:Number = 0;
for (var key:Object in names)
{
payload[counter] = [names[key].id, names[key].email];
counter++;
}
return payload;
}
}
}
當我調用類的根AS文件,我的代碼如下所示:
var grabData:DataGrab = new DataGrab();
grabData.init(url:String);
var resultData:Array = grabData.payload();
我不斷收到然而以下錯誤:
1061:通過帶有靜態類型com.src.DataGrab的引用調用可能未定義的方法有效內容。
有沒有人對我的類有什麼問題,或者更合乎邏輯的方法來編寫getResults()函數,以便能夠檢索由此類生成的數組?
謝謝。
順便說一句,as3corelib(http://code.google.com/p/as3corelib/)中有一個JSONDecoder,雖然這不是很完整... – 2009-11-05 14:30:28