拨打本地班级

时间:2019-07-09 15:25:29

标签: actionscript-3 actionscript flash-builder

我正在尝试从名为“ JSON”的类中调用静态方法,但是我正在执行的导入已经具有该方法。我该如何打电话给本地课程?

我已经尝试过了:

mypackage.subpackage.JSON.encode(param1)

在C#中,上面的方法可以工作,但是我不知道为什么在下面的ActionScript中不起作用。

import flash.utils.ByteArray;

public class Package extends ByteArray
{
    public function writeJsonObject(param1:Object) : void
    {
        this.writeUTF(JSON.encode(param1));
    }
}

我收到此错误:

  

错误:1061:通过静态类型为Class的引用调用可能未定义的方法解码

1 个答案:

答案 0 :(得分:1)

尝试使用JSON.stringify()

import flash.utils.ByteArray;

public class MyClass extends ByteArray
{
    public function writeJsonObject(param1:Object) : void
    {
        this.writeUTF(JSON.stringify(param1));
    }
}

参考:https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html

还要注意writeUTFwriteUTFBytes之间的区别,以准确了解正在向ByteArray写入的内容