自定义集合是否适用于ServiceStack的TypeSerializer?

时间:2012-09-07 18:22:22

标签: .net serialization servicestack

我正在使用@ mythz的ServiceStack.Text(包版本2.9)TypeSerializer进行序列化和反序列化,以深度复制缓存中的对象。我发现自己在反序列化时遇到了这个错误:

  

类型定义应以'{'开头,期待序列化类型   'MetadataCollection',以字符串开头:[]

MetadataCollection是我们实现IEnumerable的自定义集合类。我查看了测试的序列化字符串,我的序列化器上的Metadata属性(类型MetadataCollection)属性确实被序列化为:

,Metadata:[],

这对我来说似乎是对的,因为这个集合是空的。有什么我可以做的工作吗?

2 个答案:

答案 0 :(得分:1)

当您看到以下错误时:

  

类型定义应以'{',

开头

这表明您的模型的形状与JSON不匹配。

您是否可以提供一个不起作用的示例的独立失败测试?

答案 1 :(得分:1)

这是由于ServiceStack.Text包版本2.x中的错误/缺失功能造成的。我升级到ServiceStack.Text包版本3.9.3,一切都很好。