1

我们的 Flex 应用程序希望将请求和响应作为对象图(没有什么不寻常的)来处理,例如响应成为某些视图的模型,并且将是具有多层嵌套的结构。

** 现在,理想情况下,我们希望对不同的消息格式(例如 XML 和 AMF)使用相同的客户端(和服务器)端对象,并具有可插入的序列化/反序列化层(!)

AMF 使用 [RemoteClass(alias="samples.contact.Contact")] 对客户端到服务器进行序列化和匹配,但似乎没有 XML 的等价物。

我(有点乐观)正在寻找一种将对象图序列化为 XML 的简洁方法,以便通过客户端的 HTTPService 发送。

对于响应,默认的“对象”和“E4X”提供了一些反序列化。这很方便,但是我们当然没有像使用 AMF 那样将 XML 解包回特定的 AS 类的技巧。

有什么建议么?(确实有一个关于将对象包装/转换为 XML 或 XMLList 的想法——但这似乎不起作用)

更新:

这两个库看起来都很有用,我很可能会在某个时候使用它们。

现在,我真的需要简单地重新使用我们在任何情况下都使用的 AMF3 序列化的元数据集([RemoteClass],[Transient])

.. 所以目前最好的选择是 AMFX - 使用 Flex 数据服务使用 XML 进行 AMF 传输 - mx.messaging.channels.amfx 包中的类 - 目前唯一的缺点是任何 Externalizable 类都转换为十六进制字节流 -并且 ArrayCollection 是可外部化的!(希望通过序列化子类中的内部数组来解决..)

希望这对某人有用..

4

4 回答 4

5

关于 Xml 序列化,我可以为您提供一个起点(尽管可能有偏见:D)。

我正在开发一个允许将 AS3 对象自动转换为 xml 和从 xml 转换的项目。它基本上在用于通信的模型对象上使用注释,以便构造 xml 结构或从 xml 填充对象。

它被称为 FlexXB,您可以在http://code.google.com/p/flexxb/上查看它。我开始这个项目是因为我在工作中遇到了同样的问题(即我有一个通过 xml 通信的服务器),我希望它对其他人有用。

干杯,

亚历克斯

于 2008-11-11T12:39:09.033 回答
2

另一个项目:FleXMLer ( http://code.google.com/p/flexmler/ )。
它既有 asx3m 的直截了当的态度,您可以直接调用:

新的 FleXMLer().serialize(obj);

或者,您可以自定义 XML 元素名称、跳过元素并调整数组和哈希表的序列化方式。非常感谢您的意见。

于 2009-09-28T22:24:39.637 回答
1

在http://code.google.com/p/asx3m结帐 asx3m 项目 它是 Java XStream 序列化库的 AS3 端口,并且运行良好。我这样做是因为我必须连接到使用 XStream 交换数据对象的服务器平台,并在其中投入了大量工作。它可以扩展为将 AS3 对象序列化为任何格式(例如 JSON),并且可以利用用户定义的元标记的强大功能。干杯,

托米斯拉夫

于 2008-11-28T12:54:14.110 回答
0

Adobe 也提供了一个包含 JSON 的库。由于 ActionScript 是 JavaScript 的超集……而且 JSON 越来越多地支持跨框架……

于 2008-11-06T20:52:23.313 回答