c# - error deserializing the object of type .... End element '......' from namespace '' expected. Found element 'item' from namespace '' -
when deserialize jsonstring ,i getting error message
there error deserializing object of type recordinfo. end element 'warning' namespace '' expected. found element 'item' namespace ''. this jsonstring
public const string jsonstring = @" { ""requestid"":514106, ""warning"":[], ""customerdata"": { ""email"":""abc@abc.com"", ""fullname"":""ortguofe"", ""orderdata"":[] } }"; data contracts
[datacontract] public class recordinfo { [datamember(name = "requestid")] public string requestid { get; set; } [datamember(name = "warning")] public string warning { get; set; } [datamember(name = "customerdata")] public customerdata customerdata { get; set; } } [datacontract] public class customerdata { [datamember(name = "email")] public string requestid { get; set; } [datamember(name = "fullname")] public string fullname { get; set; } [datamember(name = "orderdata")] public orderdata[] orderdata { get; set; } } [datacontract] public class orderdata { [datamember(name = "orderid")] public string orderid { get; set; } [datamember(name = "sourceid")] public string sourceid { get; set; } [datamember(name = "sourcedata")] public sourcedata[] sourcedata { get; set; } } [datacontract] public class sourcedata { [datamember(name = "sourcedescription")] public string sourcedescription { get; set; } [datamember(name = "productname")] public string productname { get; set; } } } this deserializer use
private static t deserialize<t>(string jsonstring) { using (var ms = new memorystream(encoding.unicode.getbytes(jsonstring))) { var serializer = new datacontractjsonserializer(typeof(t)); return (t)serializer.readobject(ms); } } when deserialize bove jsonstring ,i getting error message
there error deserializing object of type recordinfo. end element 'warning' namespace '' expected. found element 'item' namespace ''. any suggestions resolve error?
set isrequired = false, e.g.:
[datamember(name = "requestid", isrequired = false)] msdn source: datamemberattribute.isrequired property
gets or sets value instructs serialization engine member must present when reading or deserializing.
Comments
Post a Comment