2012-10-11 77 views
9

Cómo analizar el archivo .json descargado con una cadena dentro de una variable de cadena? Con as3corelib.swc.Cómo analizar JSON (AS3)

+3

uso JSON.parse() http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/ JSON.html ¿Puedes proporcionar más información sobre el problema? –

+1

Agregar código. ¿Qué has intentado? ¿Qué has buscado? Este sitio web no se trata de otras personas que hacen el trabajo y le dan el código. Bienvenido a stack overflow, de todos modos =) – blue112

Respuesta

17

Y aquí vamos, lleno de trabajo ejemplo de mi proyecto actual:

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

La función para analizar JSON usando as3corelib (es decir, no la clase JSON nativo) es 'decodificación()'

JSON.decode(inputJson); 

Si el JSON de entrada se codifica correctamente, las cadenas deben estar disponibles dentro del objeto resultante. Puede tener problemas para analizar cadenas si no se han escapado correctamente, pero ese es un problema con los datos de entrada.

+5

JSON ahora está integrado en el paquete predeterminado de Flash Player llamado [JSON.parse()] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON .html) - as3corelib ya no es necesario. Asimismo, el manejo del tiempo de ejecución de Flash Player es JSON de [mayor rendimiento] (http://stackoverflow.com/questions/7816784/load-json-faster-in-flex-4/7817042#7817042) que la implementación de as3corelib. –

+0

@Jason Sturges: de acuerdo, el analizador JSON nativo debería ser la opción preferida. La pregunta original se refería como 3corelib.swc, por lo que me refería a ese código. – null