Можно ли получить все переменные-члены во флэш-памяти (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
}
}
Надеюсь, это ответит на ваш вопрос.