2012-09-07 24 views
1

我使用@ mythz的ServiceStack.Text(package version 2.9)TypeSerializer進行序列化和反序列化以深度複製緩存中的對象。我發現自己越來越對反序列化這個錯誤:自定義集合與ServiceStack的TypeSerializer一起工作嗎?

類型定義應該開始以「{」,希望系列化型 「MetadataCollection」,得到字符串開頭:[]

哪裏MetadataCollection是我們的實現IEnumerable的自定義集合類。我看着我的測試序列化的字符串,並在我的串行的元數據屬性(類型MetadataCollection)財產確實被序列化爲:

,Metadata:[], 

這似乎是正確的我,因爲這個集合爲空。我能做些什麼來完成這項工作?

回答

1

這是由於ServiceStack.Text軟件包版本2.x中的缺陷/缺失功能引起的。我升級到ServiceStack.Text軟件包版本3.9.3,一切都很好。

+0

很酷,很高興聽到它 – mythz

1

當你看到這樣的錯誤:

類型定義應該啓動一個「{」,

這是一個跡象,你的模型的形狀不匹配的JSON。

您能否提供一個不起作用的示例的獨立失敗測試?

+0

我會試試..... –

+0

我嘗試的每一個測試都可以工作 - 反序列化器在不拋出異常的情況下處理它。我將不得不從我的龐大代碼開始,並縮小它。 –

+0

看起來像這是ServiceStack 2.9中的一個問題。我會再看一點以確認。 –

相關問題