[英]Pass an Array with date and Deserialize it on ASP.Net MVC Controller
我对我的问题进行了无数的研究,但没有给出我需要的答案。.请帮助我在该阵列上修复反序列化。
我正在发送控制器的数组数据:
$room_records_to_save.push({
RoomId: anr_id,
PaxAdult: anr_adult,
PaxChild: anr_child,
DateFrom: anr_dfrom,
DateTo: anr_dto,
Id: cnt
});
它生成的数组
{"RoomId":"5","PaxAdult":"2","PaxChild":"1","DateFrom":"03/20/2015","DateTo":"03/21/2015","Id":1},{"RoomId":"1","PaxAdult":"2","PaxChild":"1","DateFrom":"3/19/2015","DateTo":"3/19/2015","Id":2}
我的控制器模式:
public bool SaveReservationInq(string rooms) {
List<ReservationOnlineRoom> rm = JsonHelper.Deserialise<List<ReservationOnlineRoom>>(rooms);
foreach (var d in rm) {
ReservationOnlineRoom.Create(d);
}
return true;
}
这是我的JsonHelper.cs类
public class JsonHelper {
public static T Deserialise<T>(string json) {
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json))) {
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
obj = (T)serializer.ReadObject(ms);
return obj;
}
}
}
这是模型ReservationOnlineRoom.cs
public class ReservationOnlineRoom {
public int ReservationOnlineID { get; set; }
public int RoomId { get; set; }
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public int PaxAdult { get; set; }
public int PaxChild { get; set; }
public string Concern { get; set; }
}
我的问题是在反序列化字符串空间,并且该错误在行下面的JsonHelper.cs上弹出
obj = (T)serializer.ReadObject(ms);
而它给我的错误是
“在反序列化类型为System.Collections.Generic.List`1 [[AMADA.Business.ReservationOnlineRoom,AMADA.Business,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]的对象时出错。]。DateTime内容' 2015-03-17T16:00:00.000Z'的开头不是JSON所需的'/ Date('开头,''/'结尾。”
任何帮助将被赞赏...
您应该使用Newtonsoft.Json
尝试这个
var array = JArray.Parse(jsonstringdata);
该数组将为您提供反序列化数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.