JsonResult,Controller.Json

來源:互聯網
上載者:User

標籤:class   blog   http   com   get   使用   

 

       表示一個類,該類用於將 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)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.