JSON をフラッシュ プログラムにロードしようとしています。JSON は、fla および swf ファイルと同じディレクトリにあります。JSON を文字列変数に読み込むことができ、トレースすると JSON が表示されます。JSON 形式は有効であり、http ://www.jsonlint.org/ で確認できます。問題は、JSON をオブジェクトにデコードしようとするときです。次のエラーが表示されます:「RangeError: エラー #1506: 指定された範囲が無効です。」ac3corelib の JSON ライブラリを使用して文字列をデコードしています。すべてのコードは次のとおりです。
import com.rational.serialization.json.JSON;
import flash.display.Loader;
import flash.external.ExternalInterface;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
var _jsonLoader:URLLoader = new URLLoader();
_jsonLoader.load(new URLRequest("JSON.json"));
_jsonLoader.addEventListener(Event.COMPLETE, processJson);
_jsonLoader.addEventListener(IOErrorEvent.IO_ERROR, _notify);
function _notify(e:IOErrorEvent):void
{
trace("error");
e.target.removeEventListener(IOErrorEvent.IO_ERROR, _notify);
}
function processJson(e:Event):void
{
var stringJson:String;
var temp:Object;
stringJson = String (e.target.data);
trace(stringJson);
temp = JSON.decode(stringJson);
trace(temp)
}
このエラーが発生する理由を教えてください
モシェ S さん、ありがとうございました。