我有一个json字符串,它使用Model string value属性在控制器上提交。我想将这个json字符串转换为c#通用列表对象。
下面是我的json字符串
{
"MLIDandRackPosition": [
{
"MLID": "27",
"PositionInRack": "3"
},
{
"MLID": "24",
"PositionInRack": "4"
}
]
}
以下是我的课程
public class MLIDandRackPosition
{
public int MLID { get; set; }
public int PositionInRack { get; set; }
}
我想在控制器操作方法上使用json字符串中的MLIDandRackPosition类列表。
请帮忙
答案 0 :(得分:3)
使用JSON.NET,您可以在一行中完成:
MLIDandRackPosition myObj = JsonConvert.DeserializeObject<MLIDandRackPosition>(myString);
有关JSON.NET的更多信息,请参阅http://www.newtonsoft.com/json/help/html/Introduction.htm。
答案 1 :(得分:2)
我强烈建议您使用.NET平台的NewtonSoft库,在讨论JSON序列化时是最好的。
答案 2 :(得分:1)
您的对象将正确绑定到
public ActionResult SomeAction(IEnumerable<MLIDandRackPosition> MLIDandRackPosition)
如果设置以下ajax参数
var data = { "MLIDandRackPosition": [ { "MLID": "27", "PositionInRack": "3" }, { "MLID": "24", "PositionInRack": "4" } ] };
$.ajax({
...
traditional: true,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data)
})
虽然我建议更改参数名称(比如model
)和var data = { "model": [ { "MLID": ....] };