事实上,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);
        }

【转】MVC中处理Json和JS中处理Json对象的更多相关文章

  1. MVC中处理Json和JS中处理Json对象

    MVC中处理Json和JS中处理Json对象 ASP.NET MVC 很好的封装了Json,本文介绍MVC中处理Json和JS中处理Json对象,并提供详细的示例代码供参考. MVC中已经很好的封装了 ...

  2. JSON在JS中的应用

    一. JSON在JS中的应用: 首先解释下JSON对象与普通js对象字面量定义时格式的区别: Js对象字面量定义格式: var person = { name:"Wede", ag ...

  3. java:JavaScript3(innerHTML,post和get,单选框,多选框,下拉列表值得获取,JS中的数组,JS中的正则)

    1.innerHTML用户登录验证: <!DOCTYPE> <html> <head> <meta charset="UTF-8"> ...

  4. JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构

    JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...

  5. JS中的运算符和JS中的分支结构

    JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链 ...

  6. bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind

    今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...

  7. 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute

    原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...

  8. vue cli 中关于vue.config.js中chainWebpack的配置

    Vue CLI  的官方文档上写:调整webpack配置最简单的方式就是在vue.config.js中的configureWebpack选项提供一个对象. Vue CLI 内部的 webpack 配置 ...

  9. JS高级面试题思路(装箱和拆箱、栈和堆、js中sort()方法、.js中Date对象中的getMounth() 需要注意的、开发中编码和解码使用场景有哪些)

    1.装箱和拆箱: 装箱:把基本数据类型转化为对应的引用数据类型的操作: var num = 123 // num var objNum = new Num(123) // object console ...

随机推荐

  1. hibernate缓存

    http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html http://www.cnblogs.com/xiaoluo501395377/ ...

  2. http协议进阶(一)http概述

    参考书籍——<HTTP权威指南> 1.web客户端和服务器 http客户端发出请求,其中包含请求内容,发给服务器,服务器再返回内容中回送请求的数据,http客户端和服务器构成了万维网的基本 ...

  3. 数据表格 - DataGrid - 查询

    toolbar头部工具栏 <script type="text/javascript"> $(function () { $("#datagrid" ...

  4. LUA类

    cpp_object_map = {}setmetatable(cpp_object_map, { __mode = "kv" }) local search_basesearch ...

  5. iframe异步加载技术及性能

    我们会经常使用iframes来加载第三方的内容.广告或者插件.使用iframe是因为它可以和主页面并行加载,不会阻塞主页面.当然使用iframe也是有利有弊的:Steve Souders在他的blog ...

  6. Uncaught Error: Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)

    引用bootstrap之后报这个错误,错误出在bootstrap.js文件中,原语句是: if(void 0===window.Tether) throw new Error("Bootst ...

  7. centos虚拟机网络桥接配置

    1.虚拟机设置->网络适配器->选择桥接模式->重启虚拟机 2.使用命令进行配置IP地址 (引用别人的配置命令) 修改/etc/sysconfig/network-scripts 目 ...

  8. Mvc中Session导致action不异步的问题

    Session导致Action不异步 啊.回想起来,真是一个大坑啊,最近博主在做一个上传文件实时显示进度条的功能.博主的思路是在上传的时候用一个Task一秒一次向Redis中插入当前的上传进度 ,上传 ...

  9. NGUI 滑动特效之中间放大滚动

    效果图如下: 其实很简单,在NGUI原有的滑动组件的基础上处理一下比例系数就好,每个块的位置是固定的,移动的是Panel. 所以呢用Panel的位置与块的位置做差在比几个块不就成了比例系数了么..自然 ...

  10. 配置linux----------------ip

    在终端中输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0 =================================== DEVICE=" ...