2012-04-11 20 views
6

Lo que quiero hacer es realizar una solicitud de obtención a esta URL: http://api.beatport.com/catalog/3/most-popular, que debería devolver algo de JSON y luego analizar cierta información de la misma.Obtener y analizar JSON en Actionscript

¿Cómo podría hacer esto en Actionscript 3? Me preocupa más averiguar cómo hacer que los datos se envíen a un analizador JSON en lugar de analizar el JSON, ya que parece que hay muchas preguntas sobre el análisis de JSON. La razón por la que quiero hacer esto en AS3 es que tengo una configuración de visualización de flash 3D y quiero obtener estos datos, analizar los bits relevantes y luego mostrar los bits analizados en la visualización.

Estoy abierto a cualquier otra forma de hacerlo que se pueda integrar fácilmente con Flash además de AS3 si hay una manera más fácil de hacerlo en otro idioma.

Respuesta

12
  1. Añadir la corelib.swc a su ruta de bibliotecas.

  2. importar la biblioteca JSON: import com.adobe.serialization.json.JSON;

  3. llamar al servicio de código con algo como esto:

    var request:URLRequest=new URLRequest(); 
    request.url=YOUR_ENDPOINT 
    request.requestHeaders=[new URLRequestHeader("Content-Type", "application/json")]; 
    request.method=URLRequestMethod.GET; 
    var loader:URLLoader=new URLLoader(); 
    loader.addEventListener(Event.COMPLETE, receive); 
    loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, notAllowed); 
    loader.addEventListener(IOErrorEvent.IO_ERROR, notFound); 
    loader.load(request); 
    
    protected function receive(event:Event):void 
    { 
        var myResults:Array=JSON.decode(event.target.data); 
    } 
    
  4. analizar los resultados con JSON.decode(results).

as3corelib se mantiene aquí: https://github.com/mikechambers/as3corelib#readme.

+0

En realidad mi pregunta principal era exactamente cómo puedo obtener el JSON para que pueda analizarlo. – Saliceran

+1

Paso 3 actualizado para mostrar cómo obtener JSON de un servicio. –

+0

Una vez que el JSON está en ese conjunto, ¿cómo hago para obtener el texto que necesito? Solo necesito datos específicos de él. Tiene información sobre 10 canciones diferentes y para cada canción quiero el nombre de la canción, el artista, el género y la etiqueta del disco. Nunca he trabajado con JSON o Actionscript. – Saliceran

3

creo que el as3corelib tiene un JSON serializer y deserializer

Puede usar éstos en lugar de reinventar la rueda y la escritura de análisis de la lógica de nuevo.