2012-04-11 54 views
6

我想要做的是對這個URL進行獲取請求:http://api.beatport.com/catalog/3/most-popular,它應該返回一些JSON,然後從中解析出某些信息。在Actionscript中獲取和解析JSON

我將如何去在Actionscript 3中做這個?我更關心如何將數據提供給JSON解析器而不是解析JSON,因爲似乎有很多關於解析JSON的問題。我想在AS3中這樣做的原因是我設置了3D閃存可視化,我想獲取這些數據,解析出相關的位,然後在可視化中顯示解析的位。

我對任何其他方式都可以這樣做,除了AS3之外,如果有更簡單的方法可以用另一種語言來完成,可以輕鬆地與Flash集成。

回答

12
  1. corelib.swc添加到您的庫路徑中。

  2. 導入JSON庫:import com.adobe.serialization.json.JSON;

  3. 的代碼像這樣打電話給你的服務:

    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. 解析結果與JSON.decode(results)

as3corelib維護在這裏:https://github.com/mikechambers/as3corelib#readme

+0

其實我的主要問題是究竟如何我得到的JSON,這樣我可以解析它。 – Saliceran 2012-04-15 21:15:47

+1

已更新步驟#3以顯示如何從服務獲取JSON。 – 2012-04-16 01:23:16

+0

一旦JSON在該數組中,我該如何去獲取我需要的文本。我只需要它的特定數據。它擁有關於10首不同歌曲的信息,並且每首歌曲都需要歌曲的名稱,藝術家,流派和唱片公司。我從來沒有使用過JSON或Actionscript。 – Saliceran 2012-04-21 21:53:58