事实上,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. Vc6.0头文件的定义

    Vc6.0头文件的定义 #ifndef __HEADER__ #define __HEADER__ int fun(int i); #endif

  2. Flash Builder 4.7 注册机完美激活方法

    Flash Builder 4.7 破解注册方法目前较为通用的三种方法: 第一种:三步修改配置文件方法,这种有开发者反应这种方法在升级和创建纯 AS 项目时会存在问题,但我懒的去试这种方法的主要原因是 ...

  3. quartz集群分布式(并发)部署解决方案-Spring

    项目中使用分布式并发部署定时任务,多台跨JVM,按照常理逻辑每个JVM的定时任务会各自运行,这样就会存在问题,多台分布式JVM机器的应用服务同时干活,一个是加重服务负担,另外一个是存在严重的逻辑问题, ...

  4. [No000082]Convert和Parse的区别/Convert.ToInt32()与int.Parse()的区别

    (1)这两个方法的最大不同是它们对null值的处理方法: Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没搞清楚Convert. ...

  5. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 大型软件系统客户端数据同步的问题解决

    作为一个完整的整体信息化解决方案需要有足够强大的各种功能,这些功能相对独立,又互相依存.当有需要这样的功能时可以随时拿出来用,适当修改一下就可以满足要求.只有这样才能快速开发各种信息化系统,才能满足各 ...

  6. 如何动态在文档中加入<script></script>写入大段js

    <script language="javascript"> var script = document.createElement("script" ...

  7. MySQL数据库备份--mysqldump用法

    导出要用到MySQL的mysqldump工具,基本用法是:   shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. ...

  8. Caliburn.Micro学习笔记(二)----Actions

    Caliburn.Micro学习笔记目录 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions, ...

  9. Spring IOC容器创建对象的方式

    一.无参构造函数创建                                                                            我们用Spring创建Stu ...

  10. 一些有用的configue参数

    --prefix 指定文件被安装到文件系统中的目录名.例:--prefix=/usr/local/apache --enable-layout 该选项允许你选择一个预先定义好的文件系统结构,也就是可以 ...