6

私がやりたいのは、次のURLにgetリクエストを送信することです:http://api.beatport.com/catalog/3/most-popular、JSONを返し、そこから特定の情報を解析する必要があります。

Actionscript 3でこれを行うにはどうすればよいですか?JSONの解析については多くの質問があるように思われるので、JSONを解析するのではなく、データをJSONパーサーにフィードする方法を理解することに関心があります。AS3でこれを実行したい理由は、3Dフラッシュビジュアライゼーションを設定していて、このデータを取得し、関連するビットを解析してから、解析したビットをビジュアライゼーションに表示したいからです。

別の言語で簡単に統合できる方法があれば、AS3以外のFlashと簡単に統合できる他の方法も利用できます。

4

3 に答える 3

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 。

于 2012-04-11T18:34:28.850 に答える
11

または、Flash Player11またはAIR3.0以降を使用している場合は、組み込みのJSONオブジェクトを使用してJSONをデコードできます。これはトップレベルのオブジェクトなので、何もインポートする必要はありません。次のようにしてください。

var decoded : Object = JSON.parse(loadedText);

参照: http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html

于 2012-04-12T18:34:21.583 に答える
3

as3corelibにはJSONシリアライザーシリアライザーがあると思います

ホイールを再発明して解析ロジックを新たに作成する代わりに、これらを使用できます。

于 2012-04-11T18:31:35.917 に答える