将json字典反序列化为c#
我从一个API获取这个json将json字典反序列化为c#,c#,json,deserialization,C#,Json,Deserialization,我从一个API获取这个json string json = "{'serviceSession':{ '123123123':[{'apn':'abc'},{'apn':'bcd'},{'apn':'def'}]}}"; 当我试图用 public class ServiceSession { public Dictionary<string, List<ServiceSessionType>> ServiceSessions { get; set; } } p
string json = "{'serviceSession':{ '123123123':[{'apn':'abc'},{'apn':'bcd'},{'apn':'def'}]}}";
当我试图用
public class ServiceSession
{
public Dictionary<string, List<ServiceSessionType>> ServiceSessions { get; set; }
}
public class ServiceSessionType
{
public string Apn { get; set; }
}
公共类服务会话
{
公共字典服务会话{get;set;}
}
公共类ServiceSessionType
{
公共字符串Apn{get;set;}
}
及
var test=JsonConvert.DeserializeObject(json);
我越来越空了
怎么了?有什么想法吗
提前谢谢你 数据结构和json字符串之间存在不匹配。您需要更改:
public class ServiceSession
{
//ServiceSessions replaced by serviceSession
public Dictionary<string, List<ServiceSessionType>> serviceSession { get; set; }
}
如果无法更改类或名称是C#中的关键字,则这是有意义的。数据结构和json字符串之间存在不匹配。您需要更改:
public class ServiceSession
{
//ServiceSessions replaced by serviceSession
public Dictionary<string, List<ServiceSessionType>> serviceSession { get; set; }
}
如果无法更改类或名称是C#中的关键字,则这是有意义的。C#数据结构与json数据结构不匹配。要么更改json的组成方式,要么更改c#中的类结构。您的模型与json不匹配
123123
是对象数组,而不是字典。即使它是一本字典(最确切地说它不是),它仍然会爆炸,因为你会有重复的键。ServiceSessions
与serviceSession
@SamAxe123123123
是字典中的键:)@zaitsman:噢,伙计。我完全误解了这一点:)谢谢。c#数据结构与json数据结构不匹配。要么更改json的组成方式,要么更改c#中的类结构。您的模型与json不匹配123123
是对象数组,而不是字典。即使它是一本字典(最确切地说它不是),它仍然会爆炸,因为你会有重复的键。ServiceSessions
与serviceSession
@SamAxe123123123
是字典中的键:)@zaitsman:噢,伙计。我完全误读了那句话,不是吗:)谢谢。
[System.Runtime.Serialization.DataContract]
public class ServiceSession
{
[System.Runtime.Serialization.DataMember(Name = "serviceSession")]
public Dictionary<string, List<ServiceSessionType>> ServiceSessions { get; set; }
}