【转】MVC中处理Json和JS中处理Json对象

事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了。

MVC中:

 public JsonResult Test()
        {
            JsonResult json = new JsonResult
                                 {
                                     Data = new
                                                {
                                                    Name = "zzl",
                                                    Sex = "male",
                                                }
                                 };
            return Json(json);
        }
 
        public JsonResult TestList()
        {
            List<User> userList = new List<User>
            {
              new User{Name="zzl",Email="bfyxzls@sina.com"},
              new User{Name="zhz",Email="zhanghangzheng@sina.com"},
            };
            JsonResult json = new JsonResult
                                 {
                                     Data = userList
                                 };

return Json(json);

//return Json(json, JsonRequestBehavior.AllowGet);//前台AJAX如果是GET用这句

//什么时候用GET请求呢,当我们直接在浏览器中输入网址时,其实就是一个GET请求

//如果我们直接输入/Home/TestList这个网址,它会提示我们下载这个JSON格式的文档

        }

前台调用:

<script>
    $.ajax({
        url: "/Home/Test",
        dataType: "json",
        cache: false,
        data: null,
        type: "POST",
        success: function (data) {
            alert(data.Data.Name);
        }
    });
 
 
    $.ajax({
        url: "/Home/TestList",
        dataType: "json",
        cache: false,
        data: null,
        type: "POST",
        success: function (data) {
            var msg = "";
            for (var i = 0, length = data.Data.length; i < length; i++) {

msg += "<DiV>Name:" + data.Data[i].Name + ",Email:" +

data.Data[i].Email + "</div>";

            }
            $("#msg2").html(msg);
        }
    });
 
</script>

第二种列表的方法,也可以这样来实现更加简单:

  public JsonResult TestList()
        {
            List<User> userList = new List<User>
            {
              new User{Name="zzl",Email="bfyxzls@sina.com"},
              new User{Name="zhz",Email="zhanghangzheng@sina.com"},
              new User{Name="zql",Email="zql1980.happy@sina.com"},
            };

return Json(userList);

//return Json(userList, JsonRequestBehavior.AllowGet);//前台AJAX如果是GET用这句

        }
$.ajax({
        url: "/Home/TestList",
        dataType: "json",
        cache: false,
        data: null,
        type: "POST",
        success: function (data) {
            var msg = "<table border=1><thead><tr><td>Name</td><td>Email</td>
                       </tr></thead><tbody>";
            for (var i = 0, length = data.length; i < length; i++) {
                msg += "<tr><td>" + data[i].Name + "</td><td>" 
                    + data[i].Email + "</td></tr>";
            }
            msg += "</body></table>";
            $("#msg2").html(msg);
        }

});

注意看红色的部分,是否是更简单了呢!哈哈

纯JS进行操作:

     var arr = [{ "name": "zzl", "sex": "男" }, { "name": "lr", "sex": "女"}];
        for (var i = 0; i < arr.length;i++ ) {
            document.write(arr[i].name);
        }
上一篇:jquery动态刷新select的值,后台传过来List,前台解析后填充到select的option中


下一篇:在ArcGIS空间数据库中增加点数据的方法