asp.net mvc4中Json的应用
做一个简单的 Json实例,从页面获取后台的Json数据
1、控制台:
public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { if (Request.IsAjaxRequest()) { List<Person> list = new List<Person>(); list.Add(new Person() { Name = "张一", Sex = "男" }); list.Add(new Person() { Name = "张二", Sex = "男" }); list.Add(new Person() { Name = "张三", Sex = "女" }); list.Add(new Person() { Name = "张四", Sex = "男" }); list.Add(new Person() { Name = "张五", Sex = "男" }); list.Add(new Person() { Name = "张六", Sex = "女" }); return Json(list, JsonRequestBehavior.AllowGet); } return View(); } } public class Person { public string Sex { get; set; } public string Name { get; set; } }
2、前台页面 :
<div id="result">Json 的例子</div> <input type="button" value="点我" /> <script> $(function () { $("input").click(function () { $.getJSON("/Home/Index", null, function (data) { //for (var i = 0; i < data.length; i++) { // alert(data[i].Name + ":" + data[i].Sex); //} for (var d in data) {//注意这样出来与C#的显示操作语法是不一样的 alert(data[d].Name+":"+data[d].Sex) } //$.each(data, function (i, v) { // alert(v.Name); //}); }); }); }) </script>
在前台我使用了三种显示数据的方法,其中第二种一定要注意,for …in 语句与C#中的语句是不一样的,注意它们的区别。
javascript提供了一种特殊的循环(也就是for .. in循环),用来迭代对象的属性或数组的每个元素,for...in循环中的循环计数器是字符串,而不是数字。它包含当前属性的名称或当前数组元素的索引,而不是值。比如下面数组用显示就要这里显示:
var arr = new Array("first", "second", "third") for(var item in arr) { document.write(arr[item]+","); }