我正在使用@ mythz的ServiceStack.Text(包版本2.9)TypeSerializer进行序列化和反序列化,以深度复制缓存中的对象。我发现自己在反序列化时遇到了这个错误:
类型定义应以'{'开头,期待序列化类型 'MetadataCollection',以字符串开头:[]
MetadataCollection是我们实现IEnumerable的自定义集合类。我查看了测试的序列化字符串,我的序列化器上的Metadata属性(类型MetadataCollection)属性确实被序列化为:
,Metadata:[],
这对我来说似乎是对的,因为这个集合是空的。有什么我可以做的工作吗?
答案 0 :(得分:1)
当您看到以下错误时:
类型定义应以'{',
开头
这表明您的模型的形状与JSON不匹配。
您是否可以提供一个不起作用的示例的独立失败测试?
答案 1 :(得分:1)
这是由于ServiceStack.Text包版本2.x中的错误/缺失功能造成的。我升级到ServiceStack.Text包版本3.9.3,一切都很好。