我在.NET中使用ServiceStack.Text。 我想序列化一个实例:
IDictionary<string, ResourceSpec>
ResourceSpec是:
public class ResourceSpec
{
public string TypeName
{
get;
set;
}
public HashSet<Property> Properties
{
get;
set;
}
}
它序列化为这种格式:
{1:{"TypeName":"channel","Properties":[audio,video]},2:{"TypeName":"channel","Properties":[audio,video,encrypted]}}
当我尝试使用以下命令反序列化时:
JsonSerializer.DeserializeFromStream<IDictionary<string, ResourceSpec>>(file);
我得到例外:
SerializationException: "Type definitions should start with a '{', expecting serialized type 'ResourceSpec', got string starting with: Properties"
任何想法有什么不对?
答案 0 :(得分:1)
您的序列化字符串似乎缺少一些双引号,例如&#34; 1&#34; &#34; audio&#34;,&#34; video&#34;等等。使用3.9.71对我引用的字符串进行反序列化。