Asp.net-Mvc
ASP.Net MVC:如何基於原始 Json 數據創建 JsonResult
包含以下原始Json
string數據(為了問題而簡化):var MyString = "{ 'val': 'apple' }";我怎樣才能創建一個
JsonResult代表的對象MyString?我嘗試使用 Json(object) 方法。但它將原始 json 數據處理為一個字元串 - 邏輯上:P-。所以返回的 HTTP 響應如下所示:
"{ 'val': 'apple' }"而不是給定的原始 Json 數據:
{ 'val': 'apple' }這就是我想要實現的目標:
Json()onController方法實際上是一個幫助方法,它創建一個新的JsonResult. 如果我們查看這個類的原始碼*,我們可以看到它並沒有真正做那麼多 - 只是將內容類型設置為application/json,使用 a 序列化您的數據對象JavaScriptSerializer,然後將其寫入結果字元串。您可以複製這個行為(減去序列化,因為您已經這樣做了),ContentResult而是從控制器返回 a 。public ActionResult JsonData(int id) { var jsonStringFromSomewhere = "{ 'val': 'apple' }"; // Content() creates a ContentResult just as Json() creates a JsonResult return Content(jsonStringFromSomewhere, "application/json"); }*從 MVC2 開始,
JsonResult如果使用者發出 HTTP GET 請求(而不是 POST),也會引發異常。允許使用者使用 HTTP GET 檢索 JSON 具有安全隱患,在您在自己的應用程序中允許這樣做之前,您應該注意這一點。