是否可以在 Flex 中序列化对象的层次结构,将二进制数据发送到 URL 以在服务器上/从服务器上存储/检索,并反序列化数据以恢复对象的原始状态?
我知道可以将对象转换为 XML 格式(还没有尝试过),但我希望避免手动解析 XML 和重建对象。拥有可以将对象序列化/反序列化为简单二进制格式的功能会很好(我过去在 Java 中做过类似的事情,虽然不像我希望的那么容易)。Perl 中的 'eval' 函数与我正在寻找的类似,当然没有保存代码。
在伪代码中,这是我想做的:
private var contentToSave:HBox = new HBox();
private function saveState(event:Event):void {
var toSave:HBox = this.contentToSave;
var data:? = /* serialize 'toSave' ActionScript classes to binary data*/;
sendDataToServer(data, filename);
}
private function restoreState(filename):void {
var data:? = getDataFromServer(filename);
var savedData:HBox = /* deserialize binary 'data' to ActionScript classes */;
this.contentToSave = savedData;
}