使用DataContractJsonSerializer在.net中反序列化json base64二进制文件
嘿,我有一个问题,使用wcf datacontract将base64 json反序列化回.net对象….
我有这个反序列化:
public static T FromJSON( this string json ) { using ( MemoryStream ms = new MemoryStream(ASCIIEncoding.Default.GetBytes(json)) ) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); return (T)ser.ReadObject(ms); } }
并且…我的模型课中有这个……
[DataMember] [Column(AutoSync = AutoSync.Always, DbType = "rowversion not null", CanBeNull = false, IsDbGenerated = true, IsVersion = true, UpdateCheck = UpdateCheck.Never)] public byte[] timestamp { get; set; }
而且…我正在将json传回去……
[{"id":"1","type":"H","date_issued":"\/Date(1286856000000)\/","date_ceu":"\/Date(1603166400000)\/","current":true,"timestamp":"AAAAAAAAD7M="}]
由于某种原因,它只是拒绝简单地将base64放回byte [] ……必须有其他方法让它工作……
另外,我正在使用ASP.NET MVC和Html.Hidden(…)将二进制序列化为base64以开始….
谢谢!
我通过使用JSON.NET库解决了这个问题…立即工作。
List <..> result = JsonConvert.DeserializeObject>(list);