2009-11-09 61 views
0

我正在爲我的Flex應用程序編寫一個模擬後端服務。因爲我可能需要添加/編輯/修改隨時間的模擬數據,我寧願不產生這樣的代碼中的數據:將數據反序列化爲模擬對象的好方法是什麼?

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

而是我想將數據存儲在一個文件中以某種格式,它可以很容易地序列化到我的強類型值對象(即上面的Foo)。理想情況下,我希望以自描述格式創建數據(即每個字段的數據類型,它表示的類別等)

這是否有意義?有什麼建議麼?

回答

2

我強烈推薦asx3m庫。它很容易讓序列化到這樣一個非常可讀的XML格式類Foo的對象:

<com.example.Foo> 
    <myVar>Something</myVar> 
    <myArrList> 
     <string>one</string> 
     <string>two</string> 
    </myArrList> 
</com.example.Foo> 

反序列化的代碼看起來是這樣的:

Asx3mer.instance.fromXML(someXMLObj) 

該項目網站有一些很好的例子這並不難。

+0

注意:如果尚未假定,則asx3m庫也會進行序列化。 – dustmachine 2009-11-09 22:40:29

+0

這太棒了,謝謝!數據文件會變得有點冗長(與CSV之類的東西相比),但是這似乎可以完成這項工作,謝謝。 – Marplesoft 2009-11-10 18:41:33

0

編寫一個方法來序列化對象的「膨脹」版本。將其輸出放入一個文件中,並將其作爲測試設置的一部分進行加載。當您想要編輯這些值時,只需編輯xml文件即可。我不知道這是否可能在flex中,但我通常會將這些文件作爲資源包含在我的測試庫中,這樣我就不需要將文件複製到任何特定位置進行測試運行。

+0

我認爲這是一個很好的策略,但我試圖弄清楚什麼是一個好的可讀但可分析的格式? – Marplesoft 2009-11-09 19:36:57

+0

XML?我不確定哪些庫可用於Flex。查看dustmachine的建議。 – pattersonc 2009-11-09 20:06:11

+0

Flex支持用於xml的e4x – Amarghosh 2009-11-10 06:27:25

相關問題