C# 反序列化键值对

C# 反序列化键值对,c#,silverlight,json,windows-phone-7,C#,Silverlight,Json,Windows Phone 7,嗨,我从服务器上得到一个类似这样的响应 {"total":110,"responses":{"13":26,"14":24,"15":40,"16":20}} 我无法使用DataContractJSONSerializer对其进行反序列化。我尝试了各种组合,但没有结果。 我正在使用以下类进行反序列化: public class PollResponseRoot { public int total { get; set; } public Dictionary<int,

嗨,我从服务器上得到一个类似这样的响应

{"total":110,"responses":{"13":26,"14":24,"15":40,"16":20}}
我无法使用DataContractJSONSerializer对其进行反序列化。我尝试了各种组合,但没有结果。 我正在使用以下类进行反序列化:

public class PollResponseRoot
{
    public int total { get; set; }
    public Dictionary<int, int> Responses;

}
公共类PollResponseRoot
{
公共整数总计{get;set;}
公共词典回应;
}

但我总是得到响应值null。请告诉我哪里出了问题。

DataContractJsonSerializer不支持字典,您可以试试运气


NuGet上也提供:

DataContractJsonSerializer不支持字典,您可以试试运气


也可在NuGet上获得:

查看为什么无法使用
DataContractJsonSerializer
解码此类列表。请改用。

查看为什么无法使用
DataContractJsonSerializer
解码此类列表。请改用。

JSON字符串是合法的JSON。这意味着什么,请原谅我的幼稚我是.net和WP7的新手我只是想让你知道问题不在于JSON字符串的格式。是的,谢谢你,奇怪的是,如果我将类中字典的名称从响应更改为响应,我会得到参数异常。在反序列化如何处理公共词典响应时;哦,并将该类标记为DataContractAttribute,将属性标记为DataMember。您还可以指定[DataMember(Name=“responses”)]以保留正确的属性名称。JSON字符串是合法的JSON。这意味着什么,请原谅我的幼稚,我是.net和WP7的新手。我只是让您知道问题不在JSON字符串的格式中。是的,谢谢,奇怪的是,如果我将类中字典的名称从响应更改为响应,则会出现参数异常。在反序列化如何处理公共词典响应时;哦,并将该类标记为DataContractAttribute,将属性标记为DataMember。您还可以指定[DataMember(Name=“responses”)]以使属性名保持正确的PASCALCASE。Bendik json.net可用于windows phone 7?。我尝试包含.net3.5二进制文件,但收到一条警告,“包含此库可能会产生意外的应用程序行为”json.net在wp7上应该非常可用,我已经使用过好几次了,但是您需要4.0版本,或者您可以使用NuGetBendik将其添加到项目中。json.net可用于windows phone 7?。我尝试包含.net3.5二进制文件,但得到一个警告,“包含此库可能会产生意外的应用程序行为”json.net应该在wp7上非常可用,我已经多次使用过,但是您需要4.0版本,或者您可以使用NuGet将其添加到项目中