Можно ли получить все переменные-члены во флэш-памяти (AS3)?

Я пытаюсь захватить все переменные-члены в AS3, а затем каждый раз я хотел бы обработать его различными способами. Мне нужно имя, а затем, если это коллекция какого-то типа, я бы тоже хотел просмотреть эту коллекцию. Я пытаюсь по существу сериализовать в некотором роде способом. Спасибо!

2 ответа

Решение

Если вы хотите сериализовать объект, вам наверняка захочется использовать JSON.

JSON в основном преобразует объекты в строки, а также наоборот, используя функции encode()/serialize() и decode()/deserialize().

В AS3 есть встроенный класс JSON, и он действительно прост в использовании.

Как только вы сделаете что-то вроде:

var myObject:Object = {};
var myObjectString:String = JSON.serialize(myObject);

После получения строки вы можете выполнить всю логику переключения, чтобы манипулировать каждой из ваших переменных и преобразовать ее обратно в объект с помощью функции deserialize ().

Вы можете использовать описать тип. Это возвращает информацию об объекте в виде XML. По умолчанию вы можете перебирать открытые свойства объектов. Вы можете попробовать что-то вроде...

// the object to iterate over
var someObj:Object = {};

for(var prop:String in someObj) {
    // check to see if its something you want to iterate over
    if (someObj[prop] is Array) {
        // iterator over the property here
    }
}

Надеюсь, это ответит на ваш вопрос.

Другие вопросы по тегам