flash - ActionScript 3 和 JSON

标签 flash actionscript-3 json

我一直试图让 JSON 与 AS3 一起工作一段时间,但无济于事。当我取回 JSON 时,我不断收到以下错误:

类型错误:错误 #1034:类型强制失败:无法将 Object@26331c41 转换为数组。

我已经尝试将变量“jsonData”的数据类型更改为 object,从而修复了错误,但我不完全确定如何解析数据。

package 
{
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.events.*;
    import com.adobe.serialization.json.JSON; 

    public class DataGrab extends Sprite {

        public function DataGrab() {

        }

        public function init(resource:String):void {
            var loader:URLLoader = new URLLoader();
            var request:URLRequest = new URLRequest(resource);
            loader.addEventListener(Event.COMPLETE, onComplete);
            loader.load(request);
        }   

        private function onComplete(e:Event):void {
            var loader:URLLoader = URLLoader(e.target);
            var jsonData:Array = JSON.decode(loader.data);
            trace(jsonData);
        }


    }
}

最佳答案

当您拥有 jsonData 时,您是对的变量作为 Object .要遍历该变量的所有属性,您可以执行以下操作:

var jsonData:Object = JSON.decode(loader.data);
for (var i:String in jsonData)
{
    trace(i + ": " + jsonData[i]);
}

如果您想检查对象是否包含特定属性,您可以使用以下内容:
var hasFooProperty:Boolean = jsonData.hasOwnProperty("fooProperty");

关于flash - ActionScript 3 和 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653514/

相关文章:

flash - 如果您运行的 Flash 应用程序使用了 Flash Player 不支持的类、方法或属性,将会发生什么情况?

flash - 我如何检测浏览器对 Flash 的支持?

flash - 扭曲网格中的坐标

java - 使用selenium webdriver(java)验证flash视频

actionscript-3 - 为什么要在 AS3 中使用命名空间?

android - Adobe AIR CameraRoll 无法在 Android 6.0 上选择照片

actionscript-3 - AS3 : Are events inefficient?

javascript - 仅列出所有键,包括嵌套在 jquery 中的 json 对象

PHP 5.1.6 上的 PHP 变量到 JSON

jquery - 关于JSON-P格式的3个问题