我正在尝试从名为“ 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的引用调用可能未定义的方法解码
答案 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
还要注意writeUTF
和writeUTFBytes
之间的区别,以准确了解正在向ByteArray
写入的内容