Я борюсь с десериализации объекта ... Я создал ту же объектную модель как в моем приложении и веб-апи ... это выглядит как нижедесериализации объекта из ответа Web API
public class Project
{
// some propeties of project object..
public SpecificationCollection Specs { get; set; }
public Project()
{
Specs = new SpecificationCollection();
}
}
[Serializable()]
public class SpecificationCollection : CollectionBase
{
public ProjectSpec this[int index]
{
get { return (ProjectSpec)List[index]; }
set { List[index] = value; }
}
//other implemented methods
}
public class ProjectSpec
{
//Properties
//Some other class object is also in this class but as of now i am not
//getting ProjectSpec
}
I попробовал следующее:
{using newtonsoft refrence here}
Dim settings As New JsonSerializerSettings()
settings.TypeNameHandling = TypeNameHandling.All //asme in auto typenamehandling
Dim str As Object = Await response.Content.ReadAsStringAsync()
Dim deserializedList As Project = JsonConvert.DeserializeObject(Of Project)(str, settings)
И это также:
Await response.Content.ReadAsAsync(Of Project)()
Я получаю объект проекта преобразуется п но не коллекцию. Пожалуйста, совет, как оценить эту ситуацию. Благодаря
ОБРАЗЦА JSON
{"ProjectID":134,"ProjectName":"ABC","LPID":"","DNumber":0,"OrgnCode":"SPt","OrgnDesc":null,"SRatingCode":"AANSub","SRatingDesc":"AASub","ProjectConCode":"","ProjectCon":"desc","OrTCode":"Csity","OrTDesc":"Corsity","Projectsdf":"Miscld","ProjectType":"Miscellaneous","ProjectStatus":"","Street1":"","Street2":"","Street3":"","City":"Princeton","State":"NJ","StateName":"NY","PostalCode":"081","CountyCode":null,"CountyName":null,"CountryCode":"USA ","CountryName":"UNITED STATES","TCode":"AA03","TName":"A03","IsA":false,"IsF1":false,"IsF2":false,"IsBacked":false,"IsMeeting":false,"IsVerified":true,"HSpec":false,"NumSpecs":0,"BidDate":"1901-01-01T00:00:00","BidStartDate":"0001-01-01T00:00:00","BidEndDate":"0001-01-01T00:00:00","EnteredBy":"User","EnteredDate":"2014-02-26T14:39:00","LockedBy":null,"LockedDate":"0001-01-01T00:00:00","CreatedBy":"dfg","CreatedDate":"2014-02-26T14:39:00","ModifiedBy":"dfgl","ModifiedDate":"2014-05-07T15:03:00","DeletedDate":null,"SysDate":"2016-01-07T07:11:00","TotalRows":0,"MonthsBack":"0001-01-01T00:00:00","SkID":-2147483648,"ArchID":"dfgdfg","AuthoredBy":"0","DModifiedDate":"1901-01-01T00:00:00","DVersion":0,"Flag":0,"OClassCode":null,"ProjectOrClass":null,"StCode":"DEFAULT","StDesc":null,"Specs":[{"SpecId":51993,"ESpecID":"558","Origin":"OS","OrName":"Openings Studio","WriterID":null,"WriterName":null,"DistName":"","ArchitectName":null,"SpecDate":"0001-01-01T00:00:00","SpecEstBidDate":"0001-01-01T00:00:00","ContractorName":null,"ProductLines":null,"CreatedDate":"2014-03-10T11:34:00","CreatedBy":"dfgdfg","ModifiedDate":"2014-03-10T11:34:00","ModifiedBy":"dfgdfg","STProjectName":null,"OwnerType":null,"SRating":null,"StickRating":null,"ProjectValue":0.0},{"SpecId":52000,"ESpecID":"635","Origin":"dfgdfg","OrName":"dfgdfg","WriterID":null,"WriterName":null,"DistName":"","ArchitectName":null,"SpecDate":"0001-01-01T00:00:00","SpecEstBidDate":"0001-01-01T00:00:00","ContractorName":null,"ProductLines":null,"CreatedDate":"2014-03-10T14:08:00","CreatedBy":"SpecTrak","ModifiedDate":"2014-03-10T14:08:00","ModifiedBy":"dfgdfgdfg","STProjectName":null,"OwnerType":null,"SRating":null,"StickRating":null,"ProjectValue":0.0}]}
Web API делает десериализации объектов. Вы можете проверить эту ссылку, чтобы проверить, совместим ли ваш объект Project с ожидаемым JSON. http://jsonutils.com/ –
Положите свою строку json –
см. обновление редактирования ..... я передал то же самое в ссылке выше Сома ... его создание IList .... я попробовал это в своем приложении и работал отлично ... могу я получить его в объект коллекции? поскольку он уже реализован во многих местах, изменение –