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-slick旋转木马效果插件案例
效果展示连接 http://www.jqcool.net/demo/201405/jquery-slick/ 今天刚接触这个插件,被这插件搞的大脑风暴了 所以来记录一下使用方法 首先注意一点 不特别标 ...
- 中文分词工具thulac4j正式发布
1. 介绍 thulac4j是THULAC的Java 8实现,相比于官方Java实现THULAC-Java,我们做了如下工作: 规范化分词词典,并去掉一些无用词: 重写DAT(双数组Trie树)的构造 ...
- 技术分享,学术报告presentation 常用的承接句
前言 现在即使是搞技术,做科研的,也需要在不同的场合,用ppt来做分享,做汇报,做总结. 如果国际会议,研讨会,或者在外企,国外工作,英文的presentation就更加必不可少.英语的提升需要大家从 ...
- Java 开机启动
1.授权: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">< ...
- AVFoundation之如何从摄像头获取图像
前言: 最近项目有个需求是对试图对手机密码进行强破解的人进行拍照(通过摄像头截图),因为之前没做过,所以一堆坑.现在就把我的经验都分享出来,希望后来人不用再踏上坑途中. 直接上代码: // 创建会话 ...
- ubuntu 虚拟机vm virtualbox 不能打开 win7
ubuntu某方面总有些不便,下载个虚拟机装个win7 但是第二次打开的时候就出现了安装是的场景: 原因很简单: 是因为安装了之后没有把win7的镜像文件移除,每次打开时会检测cd/dvd文件/(is ...
- java之JDK的环境变量配置
JDK是什么? JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. JDK包含的基本组件包括 java –--------> 运行编译后的java程序 ...
- 添加swagger api文档到node服务
swagger,一款api测试工具,详细介绍参考官网:http://swagger.io/ ,这里主要记录下怎么将swagger api应用到我们的node服务中: 1.任意新建node api项目, ...
- Django中使用CKEditor代码高亮显示插件Code Snippet
Django使用CKEditor可以安装django-ckeditor这个模块,具体步骤可按照这里进行:http://www.nanerbang.com/article/2/ 我在富文本编辑器中想使用 ...
- Dark的项链(树链剖分)
P2272 - Dark的锁链 Description 无向图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边.Dark有N – 1条主要边,并且Dark的任意两个节点之间都存在一条只由 ...