[英]Deserialize json dictionary to c#
我從API獲取此json。
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; }
}
和
var test = JsonConvert.DeserializeObject<ServiceSession> (json);
我越來越空了。
怎么了? 有任何想法嗎?
先感謝您!!
數據結構和json字符串不匹配。 您需要更改:
public class ServiceSession
{
//ServiceSessions replaced by serviceSession
public Dictionary<string, List<ServiceSessionType>> serviceSession { get; set; }
}
另一種解決方案是添加一個DataMember
屬性,該屬性告知解串器名稱。
[System.Runtime.Serialization.DataContract]
public class ServiceSession
{
[System.Runtime.Serialization.DataMember(Name = "serviceSession")]
public Dictionary<string, List<ServiceSessionType>> ServiceSessions { get; set; }
}
如果您不能更改類或名稱是C#中的關鍵字,則這很有意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.