JsonResult,Controller.Json

 

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

 

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

ContentType: mime类型服务器

Data:数据设置mvc

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

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

RecursionLimit:获取或设置递归限制测试

 

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

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

 

好了直接看后一个方法对象

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

相关文章
相关标签/搜索