Comme le suggère le titre, est-il possible d'utiliser AMF pour encoder/décoder des dictionnaires (sans sous-classe, c'est-à-dire)?Flash/Flex: Est-il possible d'encoder le dictionnaire en utilisant AMF?
Par exemple, voici un test:
function serializeAndReload(obj:*):* {
var serialized:ByteArray = new ByteArray();
serialized.writeObject(obj);
serialized.position = 0;
return serialized.readObject();
}
function test():void {
var d:Dictionary = new Dictionary();
d[{}] = 42;
d[d] = true;
var x:* = serializeAndReload(d); // <<< x is an instance of Object
trace(x['[object Object]']); // <<< traces '42'
}
Il est vrai que les objets fonctionnent bien - mais la classe Dictionary est différent de l'objet. Les objets ne peuvent avoir que des chaînes comme clés, alors que les dictionnaires peuvent avoir n'importe quel objet. –