2012-10-11 11 views
9

Wie kann heruntergeladene .json-Datei mit einer Zeichenfolge in einer String-Variablen analysiert werden? Mit as3corelib.swc.Wie wird JSON (AS3) analysiert?

+3

Verwendung JSON.parse() http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/ JSON.html Können Sie weitere Informationen zu dem Problem bereitstellen? –

+1

Code hinzufügen. Was hast du probiert? Nach was hast du gesucht? Auf dieser Website geht es nicht um andere Personen, die die Arbeit machen und Ihnen Code geben. Willkommen beim Stack-Überlauf sowieso =) – blue112

Antwort

17

Und hier gehen wir Vollarbeits Beispiel aus meinem aktuellen Projekt:

protected function loadConfigFromUrl():void 
{ 
    var urlRequest:URLRequest = new URLRequest(CONFIG_URL); 

    var urlLoader:URLLoader = new URLLoader(); 
    urlLoader.addEventListener(Event.COMPLETE, completeHandler); 

    try{ 
     urlLoader.load(urlRequest); 
    } catch (error:Error) { 
     trace("Cannot load : " + error.message); 
    } 
} 

private static function completeHandler(event:Event):void { 
    var loader:URLLoader = URLLoader(event.target); 
    trace("completeHandler: " + loader.data); 

    var data:Object = JSON.parse(loader.data); 
    trace("The answer is " + data.id+" ; "+data.first_var+" ; "+data.second_var); 
    //All fields from JSON are accessible by theit property names here/ 
} 
3

Die Funktion zum Parsen von JSON mit as3corelib (dh nicht die native JSON-Klasse) ist ‚decode()‘

JSON.decode(inputJson); 

Wenn der Eingang json richtig codiert ist, sollte Saiten im Inneren des resultierenden Objekt zur Verfügung. Sie haben möglicherweise Probleme beim Parsen von Strings, wenn sie nicht korrekt maskiert wurden, aber das ist ein Problem mit den Eingabedaten.

+5

JSON ist jetzt in das Flash Player-Standardpaket mit dem Namen [JSON.parse()] integriert (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON) .html) - as3corelib wird nicht mehr benötigt. Außerdem ist die Flash Player-Laufzeitbehandlung JSON [höhere Leistung] (http://stackoverflow.com/questions/7816784/load-json-faster-in-flex-4/7817042#7817042) als die Implementierung von as3corelib. –

+0

@Jason Sturges - einverstanden, sollte der native JSON-Parser die bevorzugte Wahl sein. Die ursprüngliche Frage wurde als 3corelib.swc bezeichnet, also bezog ich mich auf diesen Code. – null

Verwandte Themen