Pergunta

É possível serializar uma hierarquia de objetos em Flex, enviar os dados binários para uma URL para armazenamento / recuperação de / para um servidor, e desserializar os dados para restaurar o estado original dos objetos?

Eu sei que é possível converter os objetos em um formato XML (não tentei ainda), mas eu estou esperando para evitar a análise de XML e reconstruir os objetos manualmente. Seria bom ter a funcionalidade que pode serializar / desserializar objetos para um formato binário simples (Eu fiz algo semelhante no passado, em Java, embora não tão facilmente como eu teria gostado). O 'eval' função em Perl é semelhante ao que eu estou procurando, sans poupança código, é claro.

Em pseudo-código, aqui está o que eu gostaria de fazer:

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;
}
Foi útil?

Solução

Tente o pacote serialization JSON com base em ascorelib .

[...] mas eu estou esperando para evitar a análise de XML e reconstruir os objetos manualmente

AS lida com XML como qualquer outro tipo nativo. Tenha certeza. XML é a forma preferida de lidar com dados que você estará puxando fora e colocar de volta no servidor. Claro, o ascorelib dá-lhe uma classe JSON - para que você pode querer olhar para isso também

.

O 'eval' função em Perl é semelhante ao que eu estou procurando, sans poupança código, é claro.

IIRC, eval é parte da especificação do ECMAScript (e você vai encontrá-lo em Javascript). Mas não em AS3.0. Foi lá, em certa medida, de alguma versão anterior (s?), Mas não é mais suportado.

Outras dicas

Dê uma olhada ByteArray .writeObject () . o que poupa o objecto transmitido em formato AMF na matriz de bytes. Eu não usei esta função muito, eu não sei exatamente que tipo de objetos que ele pode serializar, mas definitivamente não todos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top