1

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

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

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

,Metadata:[],

这对我来说似乎是正确的,因为这个集合是空的。我能做些什么来完成这项工作吗?

4

2 回答 2

1

当您看到以下错误时:

类型定义应以“{”开头,

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

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

于 2012-09-07T18:29:07.940 回答
1

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

于 2012-09-07T20:02:33.050 回答