Come analizzare il file .json scaricato con una stringa all'interno di una variabile stringa? Con as3corelib.swc.Come analizzare JSON (AS3)
risposta
E qui andiamo, pieno di lavoro ad esempio dal mio progetto in corso:
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/
}
La funzione di parsing JSON utilizzando as3corelib (cioè non la classe JSON nativo) è 'decodificare()'
JSON.decode(inputJson);
Se il json ingresso viene codificato correttamente, stringhe devono essere disponibili all'interno dell'oggetto risultante. Potresti avere problemi nell'analizzare le stringhe se non sono state scappate correttamente, ma questo è un problema con i dati di input.
JSON è ora integrato nel pacchetto predefinito di Flash Player chiamato [JSON.parse()] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON .html) - as3corelib non è più necessario. Inoltre, la gestione del runtime di Flash Player è JSON è [prestazioni superiori] (http://stackoverflow.com/questions/7816784/load-json-faster-in-flex-4/7817042#7817042) rispetto all'implementazione di as3corelib. –
@Jason Sturges - d'accordo, il parser JSON nativo dovrebbe essere la scelta preferita. La domanda originale si riferiva a come3corelib.swc, quindi mi riferivo a quel codice. – null
uso JSON.parse() http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/ JSON.html Puoi fornire maggiori informazioni sul problema? –
Aggiungi codice. Che cosa hai provato? Cosa hai cercato? Questo sito non parla di altre persone che fanno il lavoro e ti danno il codice. Benvenuto nello stack overflow, ad ogni modo =) – blue112