Существует несоответствие между структурой данных и строкой 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 #.