C# 解析JSON中指定的类型时出错

C# 解析JSON中指定的类型时出错,c#,json,xml,C#,Json,Xml,我有一个具有类型属性的类 Dictionary<long, List<XmlAttribute>> 字典 我正在尝试使用下面的代码反序列化此数据 JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling

我有一个具有类型属性的类

Dictionary<long, List<XmlAttribute>> 
字典
我正在尝试使用下面的代码反序列化此数据

                    JsonSerializerSettings settings = new JsonSerializerSettings
                    {
                        TypeNameHandling = TypeNameHandling.All,
                        TypeNameAssemblyFormat = FormatterAssemblyStyle.Full
                    };
                    scriptMarks = JsonConvert.DeserializeObject<GetScriptMarksMsg>(mq.MessageBody, settings);
JsonSerializerSettings设置=新的JsonSerializerSettings
{
TypeNameHandling=TypeNameHandling.All,
TypeNameAssemblyFormat=FormatterAssemblyStyle.Full
};
scriptMarks=JsonConvert.DeserializeObject(mq.MessageBody,设置);
但在执行时,它显示以下错误

未能反序列化数据。数据可能已损坏。-->Newtonsoft.Json.JsonSerializationException:在Json“System.Collections.Generic.Dictionary”中指定的错误解析类型
2[[System.Int64,mscorlib],[System.Collections.Generic.List
1[[System.Xml.XmlAttribute,System.Xml]],mscorlib]

Newtonsoft.Json.JsonSerializationException:在程序集“mscorlib,Version=4.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”中找不到类型“System.Collections.Generic.Dictionary
2[[System.Int64,mscorlib],[System.Collections.Generic.List
1[[System.Xml.xmltribute,System.Xml]],mscorlib]]”


有人对此有什么想法?

你能给出一个更完整的例子,包括你使用的数据或虚拟数据吗?当我尝试使用
公共字典属性{get;set;}
属性序列化然后反序列化一个对象时,我得到一个非常不同的异常:
Newtonsoft.Json.Json序列化异常发生消息=“XmlNodeConverter仅支持反序列化XmlDocuments“
。你确定你没有得到这个异常,但却在某个地方吞没了它吗?我没有得到这个错误..你能给出一个更完整的例子,包括当我尝试用
公共字典属性{get;set;}
属性序列化然后反序列化一个对象时,你使用的数据或伪数据吗,我得到了一个非常不同的异常:
Newtonsoft.Json.JsonSerializationException-occurrent Message=“XmlNodeConverter只支持反序列化XmlDocuments”
。你确定你没有得到这个异常,但却在某个地方接受了它吗?我没有得到这个错误。。