表示一个类,该类用于将 JSON 格式的内容发送到响应。

ContentEncoding:编码格式(最好按标准utf-8)

ContentType: mime类型

Data:数据设置

JsonRequestBehavior:请求类型,该值指示是否允许来自客户端的 HTTP GET 请求,枚举

MaxJsonLength:获取或设置数据的最大长度。

RecursionLimit:获取或设置递归限制

这么篇文章层次结构画的挺好的(原文:http://www.cnblogs.com/celery94/archive/2011/01/12/1933541.html

这个类其实就是,mvc为我们封装的服务器端的方便使用json与客户端交互的类,而我们往往不直接使用该类,而是由Controller提供了一个更简化的操作类。

好了直接看后一个方法

protected internal virtual JsonResult Json(object data, string contentType, Encoding contentEncoding, JsonRequestBehavior behavior)

{

return new JsonResult { Data = data, ContentType = contentType, ContentEncoding = contentEncoding, JsonRequestBehavior = behavior };

}

其实方法很简单,就直接创建了一个JsonResult的对象返回了而已。

再来看看JsonResult.data的属性,Object类型的。Json信息为什么是字符串类型 呢。

结合平时的使用,很容易我们就能猜到,不就是方便用对象初始化器创建json对象么。
对象初始化器,其实大胆的猜一下,对象初始化个什么,一般就能想到,肯定是编译器或vs之类为我们创建了这么个对象,只不过是内部完成的。就像匿名函数一样,由于名称自动生成,我们不知道,只能使用一次,所以称之为匿名吧。本质上我们的代码编译完成后,生成的IL肯定是相同的,只不过是编译器为我们提供的一种简便的方法(语法糖)。

从上面的图我们可以很清楚的了解到,MS为我们的Action提供了一系列的返回类型,方便我们使用,从JsonResult我们就可以看出,为我们简化了很多东西,不用我们再拼接json字符串等等,避免了很多错误,相信封装的操作效率上也会比我们自己写要高不少。下面有篇每种返回类型例子的文章,小伙伴么可以看看,都不难。以后Action的返回类型就要用Mvc中提供的ActionResult。(遵循Mvc的标准,习惯)

(原文:http://www.cnblogs.com/key1309/p/3480617.html)

(关于对象初始化器Artech有篇不错的文章,讲的很深入http://www.cnblogs.com/artech/archive/2007/09/30/912166.html

(这里还有篇关于该Action返回JsonResult测试的文章:http://www.cnblogs.com/JustRun1983/p/3251426.html

 

JsonResult,Controller.Json的更多相关文章

  1. mvc使用JsonResult返回Json数据

    mvc使用JsonResult返回Json数据   controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionNa ...

  2. 编写JsonResult封装JSON返回值(模板参阅)

    编写JsonResult封装JSON返回值 package cn.tedu.note.util; import java.io.Serializable; import cn.tedu.note.se ...

  3. [转载]mvc使用JsonResult返回Json数据

    controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionName, string actionValue) { ...

  4. 自定义JsonResult处理JSON序列化DateTime类型数据(Ext4.2+ASP.NET MVC 4)

    最近项目中前台页面使用Extjs4.2 ,在后台ASP.NET MVC4返回的DateTime类型的数据错返回的DateTime类型的JsonResult的结果中的值是“\/Date(13784461 ...

  5. spring mvc controller json数据

    项目中遇到个批处理,需要前台传递一个json格式对象数组,如下:var data={   "wos":[{"id":1,"satisfaction&q ...

  6. MVC AOP解决JsonResult返回json时间格式

    新建JsonNetResult类:JsonResult public class JsonNetResult: JsonResult { public JsonNetResult() { Settin ...

  7. 通过Ajax post Json类型的数据到Controller

    View function postSimpleData() { $.ajax({ type: "POST", url: "/Service/SimpleData&quo ...

  8. 通过自己定义MVC的Controller的Json转换器解决日期序列化格式问题

    今日,在MVC框架下使用EasyUI的datagrid载入数据时,服务端返回的Json日期格式为 /Date(1433088000000+0800)/ .须要client进一步转换.并且也不符合Eas ...

  9. .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象

    原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------- ...

随机推荐

  1. BOM基础(一)

    学完了js的基础语法和DOM之后,就要要看看javascript中最后一项BOM了.BOM,全称brower document model,翻译过来就是浏览器对象模型.DOM是文档对象模型,属于BOM ...

  2. JavaScript中冒泡排序

    在我大学的时候,就已经接触到过很多的排序方式,只是那时候听得还很懵懂,大概知道这么个东西,也对冒泡排序有点印象,但真要我写,我是写不出来的.最近,在回顾js基础的时候,又接触到了冒泡排序.于是,就把冒 ...

  3. python实现视频下载

    最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容.如果有这样一个程序,可以把各大视频网站的热门用户最新发布的视频都下载下来,不仅方便自己观看,还可以将没有版权的视频发布在个人社交网站 ...

  4. sublime插件emmet的配置、使用及快捷键Ctrl+E修改成Tab键操作

    一.emmet在sublime中的配置与使用: 1.点击sublime text 3的图标,打开编辑器: 2.按键“ctrl+shift+p”,或者单击菜单->工具->命令面板: 3.打开 ...

  5. 我的Python之路【第一篇】:Python简介和入门

    1.搭建Python环境 windows下搭建python环境 1.下载安装包 2.Windows中Python的安装包是后缀名为msi的安装包,直接双击下一步即可 3.Windwos环境下默认的安装 ...

  6. 深入React组件生命周期

    上篇博文使用React开发的一些注意要点对React开发的一些重点进行了简单的罗列总结,虽然也提到了React生命周期,但只略微小结,在此单独写篇React生命周期的总结. 在组件的整个生命周期中,随 ...

  7. crontab的定时任务不能自动执行,但是手动执行脚本一直能成功

    crontab 问题小记: 环境变量问题, 养成良好的习惯, 在脚本开头export PATH 原因是 crontab 执行定时任务时,用的不是系统环境变量,而是自己的环境变量,可以把 echo $P ...

  8. java.lang.NoClassDefFoundError异常

    1.错误信息 2.错误分析: JVM读到程序的第三行,会在当前路径 "D:\java" 下寻找com.yangquan.aolun这个包路径下的Cat类,但当前路径下根本就没有co ...

  9. 【C#】组件分享:FormDragger-窗体拖拽器

    适用:.net2.0+ winform项目 介绍: 类似QQ.迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随 ...

  10. sas2ircu工具信息收集及磁盘定位

    最近几台Dell服务器的磁盘损坏,报修厂商之后dell工程师需要手机机器磁盘插槽位置信息,使用的就是sas2ircu工具. 此工具还可以配置RAID信息,但是我这次只需要他的查看信息的功能,下面就开始 ...