如何将Json字符串转换为MVC4中的C#对象
问题描述:
我有一个json字符串,它使用Model字符串值属性在控制器上提交。我想将此json字符串转换为c#通用列表对象。如何将Json字符串转换为MVC4中的C#对象
下面是我的JSON字符串
{
"MLIDandRackPosition": [
{
"MLID": "27",
"PositionInRack": "3"
},
{
"MLID": "24",
"PositionInRack": "4"
}
]
}
下面是我
类public class MLIDandRackPosition
{
public int MLID { get; set; }
public int PositionInRack { get; set; }
}
我想MLIDandRackPosition类的从控制器的操作方法JSON字符串列表。
请帮
答
你的对象将正确地绑定到
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": ....] };
答
随着JSON.NET你可以做,在一行:
MLIDandRackPosition myObj = JsonConvert.DeserializeObject<MLIDandRackPosition>(myString);
更多有关JSON.NET见http://www.newtonsoft.com/json/help/html/Introduction.htm。
+1
Mr. Dictus非常有帮助请在+1后添加0,因为我不能在SO UI中找到选项。 – 2016-03-16 11:48:36
它的容易找到相同的问题:http://stackoverflow.com/questions/2546138/deserializing-json-data-to-c-sharp-using-json-net – MacGyver 2015-02-06 07:14:09
possi ble重复的[在C#中解析JSON](http://stackoverflow.com/questions/1212344/parse-json-in-c-sharp) – Kutyel 2015-02-06 07:16:16