Get and parse JSON in Actionscript
Add the
corelib.swc
to your library path.Import the JSON library:
import com.adobe.serialization.json.JSON;
Call your service with code something like this:
var request:URLRequest=new URLRequest();request.url=YOUR_ENDPOINTrequest.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);}
Parse the results with
JSON.decode(results)
.
as3corelib is maintained here: https://github.com/mikechambers/as3corelib#readme.
Alternatively if you're using Flash Player 11 or AIR 3.0 or higher you can use the built in JSON object to decode your JSON. It's a top level object so you dont even need to import anything, just do:
var decoded : Object = JSON.parse(loadedText);
See: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html
I believe the as3corelib has a JSON serializer and deserializer
You can use those instead of re-inventing the wheel and writing parsing logic afresh.