J'ai construit une classe qui analyse les données JSON, les stocke dans un tableau, et maintenant je veux retourner ces données afin qu'elles puissent être stockées dans un tableau dans mon fichier AS racine. J'essaie finalement de passer le tableau retourné à une autre classe. Ma classe ressemble à ceci:actionscript 3: retourner un tableau dans une classe
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;
}
}
}
Quand j'appelle la classe dans la racine fichier AS, mon code ressemble à:
var grabData:DataGrab = new DataGrab();
grabData.init(url:String);
var resultData:Array = grabData.payload();
Je continue à obtenir l'erreur suivante cependant:
1061: Appel à une charge utile de méthode éventuellement non définie via une référence de type statique com.src.DataGrab.
Quelqu'un a-t-il des conseils sur ce qui pourrait ne pas fonctionner avec ma classe, ou une façon plus logique d'écrire la fonction getResults() pour que je puisse récupérer le tableau généré par cette classe?
Merci.
BTW, il y a un JSONDecoder dans as3corelib (http://code.google.com/p/as3corelib/), bien que ce ne soit pas très complet ... –