JSON与MVC3模型绑定示例

在现代Web开发中,JSON(JavaScript Object Notation)已成为数据交换的常用格式。本文将通过一个简单的示例来展示如何在ASP.NETMVC3框架中使用JSON,以及如何利用MVC3内置的模型绑定功能简化数据处理。

首先,需要引入一个JSON解析库。在本例中,将使用由Douglas Crockford创建的Json2库。

在视图(View)中,添加以下代码:

<script src="../../Scripts/json2.js" type="text/javascript"></script> <input type="button" onclick="javascript:JsonInAction()" value="Json"/> <div id="JsonResponse"></div> <script language="javascript" type="text/javascript"> var data = [{ "lastName": "Orue", "firstName": "Esteban", "phones": [{ "type": "Mobile", "number": "(011) 4121-2121" }, { "type": "Home", "number": "(011) 4123-4567" }] }, { "firstName": "Alejandro", "lastName": "Orue", "phones": [{ "type": "Mobile", "number": "(011) 4121-7777" }, { "type": "Home", "number": "(011) 4121-9999" }] }]; function JsonInAction() { $.ajax({ url: '/Home/CollectJsonData', data: JSON.stringify(data), type: 'POST', contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(result) { var divInsert = document.getElementById("JsonResponse"); divInsert.innerHTML = result; }, error: function() { alert("error"); } }); } </script>

在控制器(Controller)中,定义一个名为CollectJsonData的Action方法,用于处理JSON数据。

public ActionResult CollectJsonData(List<Person> person) { return Json(data: person[0].firstName.ToString()); }

接下来,定义两个模型(Model)类,Person和Phone,用于表示JSON数据的结构。

public class Person { public string firstName { get; set; } public string lastName { get; set; } public List<Phone> phones { get; set; } } public class Phone { public string type { get; set; } public string number { get; set; } }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485