使用json.net反序列化通用字典

时间:2009-09-08 20:44:13

标签: dictionary generics json.net

我的班级看起来像这样:

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

当我尝试使用Json.NET反序列化此类时:

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

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

此错误消息的含义是什么?如何解决?

2 个答案:

答案 0 :(得分:2)

首先看一下你变量中的JSON。

答案 1 :(得分:1)

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