This project uses the modern Javascript Typed Array specification (e.g, ArrayBuffer, U8intArray, DataView, etc.).
This is currently a decoder only (AMF to JSON); it will not encode (ie. no JSON to AMF)
Designed for browsers or Node.JS.
AS3 Object serialization:
import com.hurlant.util.Hex;
import flash.utils.ByteArray;
// ...
public function serialize():void {
var o:Object = new Object();
o.name = "John Doe";
var byteArray:ByteArray = new ByteArray();
byteArray.writeObject(o);
trace("serialized: "+ Hex.fromArray(byteArray));
}
AS3 Object deserialization:
import com.hurlant.util.Hex;
import flash.utils.ByteArray;
// ...
public function dumpObj(oObj:Object, sPrefix:String = ""):void {
sPrefix == "" ? sPrefix = "---" : sPrefix += "---";
for (var i:* in oObj) {
trace(sPrefix, i + " : " + oObj[i], " ");
if (typeof(oObj[i]) == "object") dumpObj(oObj[i], sPrefix);
}
}
public function deserialize():void {
var byteArray:ByteArray = new ByteArrray();
// ... fill with bytes ...
var o:Object = byteArray.readObject();
trace("deserialized: "+ this.name +" hex= "+ Hex.fromArray(ba));
dumpObj(o);
}