Вызов местного класса - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь вызвать статический метод из класса «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 Ответ

1 голос
/ 10 июля 2019

Попробуйте использовать 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

...