AS3类型对象序列化为C#Hashtables并返回

时间:2011-05-05 07:49:47

标签: c# actionscript-3 serialization

我需要序列化AS3强类型对象,将它们发送到C#应用程序,然后能够将它们作为Hashtables / Dictionarys左右,因为我没有相应的C#类。然后,我将对该Hastable进行一些更改,并且需要能够将它们发送回as3应用程序。

我尝试使用JSON(请参阅此问题与bounty Typed AS3 JSON Encoder and Decoder?),因为我已经在C#中使用JSON序列化到Hashtables。它不起作用,因为AS3不支持键入的JSON。

我还查看了XML并找到asx3m http://code.google.com/p/asx3m/,这是强类型的as3但我可以找到一个解决方案序列并将其反序列化为c#中的正确哈希表。

1 个答案:

答案 0 :(得分:1)

我猜你可以在C#中读取无类型的JSON并将其发送回ActionScript。唯一的问题是强类型支持。为什么不在AS端使用无类型JSON反序列化,然后将无类型对象转换为类型化对象? 要做到这一点,你需要:

  • 以某种方式传递类型信息,例如,在特殊属性中:{_ _ type:“flash.geom.Rectangle”}
  • 反序列化无类型对象
  • 使用getDefinitionByName获取类型并创建类型化对象(构造函数不应该需要参数)
  • 使用for..in迭代无类型对象属性,并在类型对象中设置相应的属性。