使用SWFObject的复杂FlashVar对象?

Naf*_*Kay 2 javascript flash swfobject actionscript-3

是否可以通过SWFObject将本机JavaScript对象(如数组和类似哈希映射的对象)传递给Flash Player?

我基本上需要在Flash变量中从JavaScript传递一个对象数组到Flash,所以这是我的代码:

swfobject.embedSWF("application.swf", "divvy" "100%", "100%", null,
    { 'info': [
        { 'id': 1, 'name': "Hello, John" },
        { 'id': 2, 'name': "Hello, Dave" }
    }]);
Run Code Online (Sandbox Code Playgroud)

当我在Flex中获取对象时,我只是得到一个如下所示的字符串:"[Object object],[Object object]"这使我相信在进入Flash之前我的数组被序列化为一个String.有没有已知的解决方法?

是的,我确实需要以这种方式传递Flash变量,因为它们会关闭一些在应用程序启动之前必须执行的加载.

sup*_*fro 6

使用as3corelib中的JSON lib 并传递整个编码为json对象的对象,一旦反序列化它将成为flash对象.您可能需要对json字符串进行urlencode以将其作为字符串传递,一旦进入as3它将被解除编码,并且您可以使用as3corelib的json函数对其进行反序列化,并且您将在flash中有一个表示数据的对象.