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]+",");
}

 

posted @ 2016-01-07 09:54  lunawzh  阅读(271)  评论(0编辑  收藏  举报