JsonResult,Controller.Json
表示一个类,该类用于将 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的更多相关文章
- mvc使用JsonResult返回Json数据
mvc使用JsonResult返回Json数据 controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionNa ...
- 编写JsonResult封装JSON返回值(模板参阅)
编写JsonResult封装JSON返回值 package cn.tedu.note.util; import java.io.Serializable; import cn.tedu.note.se ...
- [转载]mvc使用JsonResult返回Json数据
controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionName, string actionValue) { ...
- 自定义JsonResult处理JSON序列化DateTime类型数据(Ext4.2+ASP.NET MVC 4)
最近项目中前台页面使用Extjs4.2 ,在后台ASP.NET MVC4返回的DateTime类型的数据错返回的DateTime类型的JsonResult的结果中的值是“\/Date(13784461 ...
- spring mvc controller json数据
项目中遇到个批处理,需要前台传递一个json格式对象数组,如下:var data={ "wos":[{"id":1,"satisfaction&q ...
- MVC AOP解决JsonResult返回json时间格式
新建JsonNetResult类:JsonResult public class JsonNetResult: JsonResult { public JsonNetResult() { Settin ...
- 通过Ajax post Json类型的数据到Controller
View function postSimpleData() { $.ajax({ type: "POST", url: "/Service/SimpleData&quo ...
- 通过自己定义MVC的Controller的Json转换器解决日期序列化格式问题
今日,在MVC框架下使用EasyUI的datagrid载入数据时,服务端返回的Json日期格式为 /Date(1433088000000+0800)/ .须要client进一步转换.并且也不符合Eas ...
- .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象
原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------- ...
随机推荐
- Jquery基本用法
今天下午讲了Jquery的基本用法:在用Jquery方法时,首先要引用Jquery文件: <script src="jquery-1.11.2.min.js">< ...
- Selenium 上传文件失败,解决办法一
昨个改程序遇到一个问题,UI上面有需要上传文件的地方.但是我不知道怎么让Selenium完成 点击上传文件按钮->在弹出的文件选择窗口中选择路径和文件,点确定. 要知道弹出窗口属于window的 ...
- MacOS无法登录App Store修复
MacOS无法登录App Store修复 2017-03-10 21:13:39 by:SemiconductorKING 先上图: 惨红色的提示信息,把你拒之App Store门外,但是对之放弃. ...
- 1635: [Usaco2007 Jan]Tallest Cow 最高的牛
1635: [Usaco2007 Jan]Tallest Cow 最高的牛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 383 Solved: 211 ...
- PMS5003ST+Arduino Nano 串口读取数据
先上代码: 库文件是在guihub上的大神写的https://github.com/jbanaszczyk,我拿来小改下用以支持5003ST #include <Arduino.h> #i ...
- RxJava Map操作详解
2016-06-06 RxJava是最近两年火起来的一个框架,核心是异步,但是对于我来说印象最深的是响应式编程的思想.最近刚好想把自己的项目改成用RxJava实现,所以就研究了下.抛物线和大头鬼两位大 ...
- 关于Tarjan(3)——离线LCA
LCA(最近公共祖先),指对于一棵树上任意两个节点往上走最早都能到达的节点. 求LCA有两种方法,一种是倍增,另一种则是Tarjan........ Tarjan巧妙利用并查集的思想: 这里的Tarj ...
- 组件之间使用Prop传递数据
<div id="example"> <father></father> </div> <script src="h ...
- Nagios工作原理
图解Nagios的工作原理 Nagios的主动模式和被动模式 被动模式:就如同上图所显示的那样,客户端起nrpe进程,服务端通过check_nrpe插件向客户端发送命令,客户端根据服务端的指示来调用相 ...
- nginx错误记录
症状: 安装phpBB3.1的最后一步完成安装之后,注册用户,浏览器崩溃.localhost的所有页面都打不开同时没有响应. Trace: 虽然打开了nginx.exe,但是进程中未发现服务. 重新电 ...