将数据反序列化为模拟对象的好方法是什么?

时间:2009-11-09 19:14:28

标签: flex actionscript-3 actionscript

我正在为我的flex应用程序编写一个模拟后端服务。因为我可能需要随着时间的推移添加/编辑/修改模拟数据,我宁愿不用这样的代码生成数据:

var mockData = new Array();
mockData.push(new Foo(1, "abc", "xyz"));
mockData.push(new Foo(2, "def", "xyz"));
... 

相反,我想将数据以某种格式存储在文件中,以便可以轻松地将其序列化为强类型值对象(即上面的Foo)。理想情况下,我想以自描述格式创建数据(即每个字段的数据类型,代表的类别等)

这有意义吗?有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我强烈推荐asx3m库。对于类Foo:

的对象,它很容易允许序列化为非常易读的XML格式
<com.example.Foo>
   <myVar>Something</myVar>
   <myArrList>
      <string>one</string>
      <string>two</string>
   </myArrList>
</com.example.Foo>

反序列化的代码如下所示:

Asx3mer.instance.fromXML(someXMLObj)

项目现场有一些很好的例子,并不是很难实现这一点。

答案 1 :(得分:0)

编写一个方法来序列化对象的“膨胀”版本。将其输出放入文件中,并将其作为测试设置的一部分加载。如果要编辑值,只需编辑xml文件即可。我不知道这是否可以在flex中进行,但我通常会将这些文件作为资源包含在我的测试库中,这样我就不需要将文件复制到任何特定的位置进行测试运行。