1

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;
}
4

2 に答える 2

4

ByteArray.writeObject()を見てください。渡されたオブジェクトをAMF形式でバイト配列に保存します。私はこの関数をあまり使用していません。シリアル化できるオブジェクトの種類は正確にはわかりませんが、すべてではありません。

于 2009-03-02T20:56:25.600 に答える