我发布以下对象和我的控制器页面获取字符串格式如何在c#中转换序列化对象。
[HttpPost]
public object StoreCheckList(object ChkList)
{
}
[{"Remarks": "Teat","CountryId": 1,"ClientId": 1,"FacilityId": 1,"SpaceId":2},{"Remarks": "Teat","CountryId": 1,"ClientId": 1,"FacilityId":1,"SpaceId": 5}]
答案 0 :(得分:3)
您可以使用内置的MVC支持强类型模型绑定。首先,创建一个具有与输入对象
匹配的属性的类e.g。
public class StoreCheckListModel {
public string Remarks {get;set;}
public int CountryId {get;set;}
public int ClientId {get;set;}
public int FacilityId {get;set;}
public int SpaceId {get;set;}
}
然后将您的Mvc操作更改为:
[HttpPost]
public object StoreCheckList(StoreCheckListModel[] ChkList) {
}
答案 1 :(得分:0)
使用Newtonsoft.Json,如下所示:
YourObjectType obj = JsonConvert.DeserializeObject<YourObjectType>(json);
答案 2 :(得分:0)
顾名思义,MVC是Model,View Controller。您的问题是如何在控制器中处理我发布的请求。
但在您在控制器中处理之前,您必须确保Model
和View
符合此模式。
您好像没有使用Model
。首先,创建一个如下所示的模型。
public class MyModel
{
public string Remarks { get; set; }
public int CountryId { get; set; }
public int ClientId { get; set; }
public int FacilityId { get; set; }
public int SpaceId { get; set; }
}
更改您的控制器方法,
[HttpPost]
public object StoreCheckList(IEnumerable<MyModel> chkList)
{
List<MyModel> myCheckList = chkList.ToList();
///do what you want to do
}
这应该没有任何序列化相关代码。