Я использую реализацию JSON.NET для сериализации/десериализации объектов .NET в JS. и наоборот, все работает нормально до запуска GetWCFData()
в следующем:
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public class WebLookup
{
WCFService.WCFServiceClient svc;
IsoDateTimeConverter DateConverter = new IsoDateTimeConverter();
List<WCFContract.Language> Languages { get; set; }
List<WCFContract.Group> Groups { get; set; }
List<WCFContract.User> Users { get; set; }
public WebLookup()
{
DateConverter.DateTimeFormat = "dd/MM/yyyy";
DateConverter.DateTimeStyles = System.Globalization.DateTimeStyles.AssumeLocal;
}
public string GetWCFData()
{
svc = new WCFService.WCFServiceClient();
WebLookup weblookup = new WebLookup();
weblookup.Languages = svc.GetWCFLanguages().ToList();
weblookup.Groups = svc.GetWCFGroups().ToList();
weblookup.Users = svc.GetWCFUsers().ToList();
return JsonConvert.SerializeObject(weblookup, DateConverter);
}
}
Члены Languages
, Groups
и Users
успешно заполняются при вызове службы WCF, но JsonConvert.SerializeObject(lookup, DateConverter)
всегда возвращает клиенту (веб-браузеру) пустую строку JSON, это странно, так как это обычно отлично работает для меня в других областях, единственная разница в том, что здесь у меня есть заполненные WebLookup
члены, объявленные как общедоступные свойства в самом классе.
JavaScriptSerializer
илиDataContractJsonSerializer
? - person David Pfeffer   schedule 19.12.2011