2009-09-08 126 views
1

通用字典我有一类这样看:反序列化使用json.net

class MyClass { 
    public int Id; 
    public Dictionary<int, MyClass[]> ChildValues; 
} 

,当我尝试使用反序列化这个类Json.NET:

MyClass x = return JsonConvert.DeserializeObject<MyClass>(s); 

我收到预期的错误类型为'System.Collections.Generic.Dictionary`2 [System.Int32,MyClass []]'的JsonObjectContract或JsonDictionaryContract,得到'Newtonsoft.Json.Serialization.JsonDictionaryContract'。

这个错误信息是什么意思,我该如何解决它?

回答

2

看看你在s变量中的JSON优先。

1

我找到了。问题在于客户端的Json是一个数组而不是字典(这反过来是因为脚本文件被IE缓存了)。