Я использую as3corelib для анализа JSON.Вы можете скачать его здесь: https://github.com/mikechambers/as3corelib
Я завернул его в класс:
import com.adobe.serialization.json.JSON;
import flash.events.EventDispatcher;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class JSONLoader extends EventDispatcher
{
private var loader:URLLoader = new URLLoader() ;
private var request:URLRequest = new URLRequest();
public var jsonDecoded:Object = new Object();
public function JSONLoader(DataURL:String):void
{
var JSONString:String = DataURL;
//trace("JSONLoader - JSONString = "+JSONString);
var urlRequest:URLRequest = new URLRequest(JSONString);
//var urlLoader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, decodeJSON);
loader.addEventListener(IOErrorEvent.IO_ERROR, urlLoadErrorHandler);
loader.load(urlRequest);
loader.addEventListener(Event.COMPLETE, decodeJSON) ;
}
public function decodeJSON(event:Event):void
{
trace("JSONLoader - Jason - "+event.target.data);
jsonDecoded = JSON.decode(event.target.data);
dispatchEvent (new Event("dataReady"));
removeListeners();
}
public function urlLoadErrorHandler(event:IOErrorEvent):void
{
trace("Jason - unable to load data");
dispatchEvent (new Event("dataFailed"));
removeListeners();
}
public function removeListeners():void
{
loader.removeEventListener(Event.COMPLETE, decodeJSON) ;
loader.removeEventListener(IOErrorEvent.IO_ERROR, urlLoadErrorHandler);
}
public function returnJsonDecoded():Object
{
trace("Jason jsonDecoded - "+jsonDecoded);
return jsonDecoded;
}
}
Затем назовите его так:
public function getData():void{
var _URLpath:String = "localdata.json";
jsonLoader = new JSONLoader(_URLpath);
jsonLoader.addEventListener("dataReady", collectJSONData);
jsonLoader.addEventListener("dataFailed", doJSONFailed);
}
private function collectJSONData(evt:Event):void
{
jsonObject = jsonLoader.returnJsonDecoded();
}
Тогда у вас есть jsonObject и вы можете использовать как массив и случайным образом подбирать элементы.